1.下载安装包
下载地址:
https://dev.mysql.com/downloads/mysql/
2.建立用户和目录
建立用户mysql,组mysql。后面mysql就使用这个用户来运行(注意这也是mysql启动脚本中默认的用户,因此最好不要改名)。
groupadd mysql
useradd -r -g mysql mysql
(使用-r参数表示mysql用户是一个系统用户,不能登录)
(-g参数表示用户所在的组)
建立目录/work/program,后面mysql就安装在这个目录下面。
mkdir /work/program
3.安装
【解压】
将前面得到的mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz上传至/work/program目录下
tar zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
这时在program下得到的目录名很长,如果不想改名,则可以建立一个软连接:
ln -s mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz mysql
此后就可以用/work/program/mysql来找到mysql的安装目录了
【配置】
找到/etc/my.cnf,没有就创建一个。
my.cnf中关键配置:
[client]
port=3306
socket=/work/program/mysql/tmp/mysql.sock
[mysqld]
character_set_server=utf8
basedir=/work/program/mysql
datadir=/work/program/mysql/data
socket=/work/program/mysql/tmp/mysql.sock
log-error=/work/program/mysql/log/mysqld.log
pid-file=/work/program/mysql/run/mysqld.pid
max_connections=5000
注意,目录不存在,请创建之:
/work/program/mysql/tmp
/work/program/mysql/data
/work/program/mysql/log
/work/program/mysql/run
创建日志文件:vim /work/program/mysql/log/mysqld.log wq
【目录权限设置】
将mysql及其下所有的目录所有者和组均设为mysql:
cd /work/program/mysql
chown mysql:mysql -R .
chmod 777 /work/program/mysql -R
【初始化】
注意:mysql5.7和之前版本不同,很多资料上都是这个命令
...../scripts/mysql_install_db --user=mysql
而5.7版本根本没有这个。
/work/program/mysql/bin/mysqld --initialize --user=mysql --datadir=/work/program/mysql/data --basedir=/work/program/mysql
运行后在log目录下查看mysqld.log,内容最后一行为:
2018-04-25T07:53:53.257190Z 1 [Note] A temporary password is generated for root@localhost: msracLB)z8&O
这是root的初始密码
4.运行
【运行服务器程序】
/work/program/mysql/support-files/mysql.server start
/work/program/mysql/support-files/mysql.server stop
5.测试连接
bin/mysql -uroot -p
输入密码
mysql -h 192.168.75.101 -P 3306 -u root -proot123
6. 开机自启
cd /work/program/mysql-5.7.22-linux-glibc2.12-x86_64/support-files
cp mysql.server /etc/init.d/mysqlserver
chkconfig --add mysqlserver
7.使用service 命令启动/停止服务
例如我的mysql:启动/停止/暂停:
service mysqlserver start/stop/restart
查看状态:service mysqlserver status
8.修改mysql初始密码
使用旧密码登录:
bin/mysql -uroot -p
msracLB)z8&O
alter user 'root'@'localhost' identified by 'root123';
直接成功了,如果失败,必须修改两个全局参数:
首先,修改validate_password_policy参数的值
mysql> set global validate_password_policy=0;
再修改密码的长度
set global validate_password_length=1;
再次执行修改密码就可以了
9.授权其他机器登陆
grant all privileges on *.*to'root'@'%' identified by 'password';
flush privileges;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.75.1' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
查看授权
show grants;