MySQL Product Archives


Linux下安装mysql 5.6版本

下载安装包

下载安装包 mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz

卸载系统自带Mariadb

rpm -qa|grep mariadb
rpm -e --nodeps 文件名

删除etc目录下的my.cnf文件(如果没有就直接新建,就是跳过这个步骤)

rm /etc/my.cnf

创建mysql用户组

groupadd mysql

创建mysql用户并加入mysql用户组

useradd -g mysql mysql

下载的二进制压缩包放到/usr/local/目录下,并解压缩

tar -zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

重命名为mysql

mv mysql-5.6.36-linux-glibc2.5-x86_64 mysql

目录/etc/下创建my.cnf配置文件

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

socket=/var/lib/mysql/mysql.sock

[mysqld]

skip-name-resolve

#设置3306端口

port=3306

socket=/var/lib/mysql/mysql.sock

# 设置mysql的安装目录

basedir=/usr/local/mysql

# 设置mysql数据库的数据的存放目录

datadir=/usr/local/mysql/data

# 允许最大连接数

max_connections=200

# 服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

lower_case_table_names=1

max_allowed_packet=16M

创建上述步骤中用到的目录并将其用户设置为mysql

mkdir /var/lib/mysql
mkdir /var/lib/mysql/mysql
chown -R mysql:mysql /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql/mysql

进入安装mysql软件目录/usr/local/mysql

cd /usr/local/mysql
chown -R mysql:mysql ./

mysql 5.6x

./scripts/mysql_install_db --user=mysql
chown -R mysql:mysql data

mysql 5.7x

#/usr/local/mysql/bin目录下执行命令
./mysqld --initialize --user=mysql


如遇报错安装mysql报错:please install the following Perl modules before executing /usr/bin/mysql_install_dbv,请执行如下命令

yum -y install autoconf

配置mysql数据库

授予my.cnf的最大权限

chown 777 /etc/my.cnf

设置开机自启动服务控制脚本

如果没有rc.d直接输入/etc/init.d/mysqld即可

cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld 

增加mysqld服务控制脚本执行权限

chmod +x /etc/rc.d/init.d/mysqld

将mysqld服务加入到系统服务

chkconfig --add mysqld

检查mysqld服务是否已经生效

chkconfig --list mysqld

启动msql(停止mysqld服务:service mysqld stop)

service mysqld start

将mysql的bin目录加入PATH环境变量,编辑/etc/profile文件

vim /etc/profile
export PATH=$PATH:/usr/local/mysql/bin
source /etc/profile

以root账户登陆mysql

5.6.x 版本

默认是没有密码

mysql -u root -p

设置root用户账户密码

use mysql;

update user set authentication_string=password("123456") where user='root';

上述修改密码命令不生效,则使用以下命令

UPDATE user SET Password = PASSWORD('123456') WHERE user = 'root';

5.7.x 版本

在通过临时密码登录后,需要设置root用户的密码。

否则报错如下:mysql 5.7 You must reset your password using ALTER USER statement before executing this statement.

set password=password('xxxx');
alter user 'root'@'localhost' password expire never;
flush privileges;

刷新用户权限

flush privileges

重启mysql服务

service mysqld restart

设置允许远程访问

GRANT ALL PRIVILEGES ON *.* TO 'your username'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;

刷新用户权限

flush privileges