centos 7 上通过 yum 安装 mysql 5.7

来源:互联网 发布:如何找到淘宝达人 编辑:程序博客网 时间:2024/05/22 11:49
1. 获取 yum 源
wget http://repo.mysql.com/mysql57-community-release-el7-9.noarch.rpm
yum install mysql57-community-release-el7-9.noarch.rpm
查看yum源
yum  list mysql-community-server
2. 安装
yum install mysql-community-server
3. 配置 systemd
[root@six lzo]# cat /etc/systemd/system/mysql.service 
[Unit]
Description=MySQL Server
After=network.target


[Service]
ExecStart=/usr/sbin/mysqld --defaults-file=/data/mysqld/my.cnf --datadir=/data/mysql --socket=/data/mysqld/mysqld.sock --user=mysql
Group=mysql
WorkingDirectory=/usr


[Install]
WantedBy=multi-user.target


4. 配置 mysql
[root@six lzo]# mkdir /data/mysql;mkdir /data/mysqld/
[root@six lzo]# chown -R mysql:mysql /data/mysql;chown -R mysql:mysql /data/mysqld/
[root@six lzo]# chown -R mysql:mysql /data/mysql;chown -R mysql:mysql /data/mysqld/
注意,原来的 mysql_install_db 已经废弃不用
[root@six lzo]#/usr/sbin/mysqld --initialize --defaults-file=/data/mysqld/my.cnf --datadir=/data/mysql --user=mysql
[root@six lzo]# chown -R mysql:mysql /data/mysql;chown -R mysql:mysql /data/mysqld/


5. 配置my.cnf
[root@six lzo]# mv /etc/my.cnf /data/mysqld/my.cnf
[root@six lzo]# chown -R mysql:mysql /data/mysqld
修改 /data/mysqld/my.cnf内的内容,主要是 mysqld节点
datadir=/data/mysql
socket=/data/mysqld/mysql.sock
skip-grant-tables
default-time-zone='+8:00'
log_timestamps='system'
explicit_defaults_for_timestamp
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/data/mysqld/mysqld.log
pid-file=/data/mysqld/mysqld.pid


6. 配置 mysql 用户
[root@six lzo]# systemctl start mysql.service
[root@six lzo]# mysql -S/data/mysqld/mysqld.sock
mysql shell 中增加用户
mysql> FLUSH PRIVILEGES;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY  '1122334455' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY  '1122334455' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> \q


7. 复位权限
注释 /data/mysqld/my.cnf内,skip-grant-tables,例如:
#skip-grant-tables

[root@six lzo]# systemctl restart mysql.service


8. 验证安装

[root@six lzo]# rpm -aq|grep "mysql"
mysql-community-libs-5.7.15-1.el7.x86_64
mysql57-community-release-el7-9.noarch
mysql-community-client-5.7.15-1.el7.x86_64
mysql-community-server-5.7.15-1.el7.x86_64
mysql-community-common-5.7.15-1.el7.x86_64

[root@six lzo]# mysql -S/data/mysqld/mysqld.sock -uroot -p

输入 1122334455,登录完成,整个安装完成


补充,初始化失败,可以删除 数据目录,重新初始化,

mysqld --initialize --user=mysql --basedir=/usr/bin --datadir=/var/lib/mysql  --innodb_undo_tablespaces=3 --explicit_defaults_for_timestamp
初始化密码在日志文件里面(日志文件位置看 my.cnf 配置)
)qT%kesFx6k3


必须修改初始化密码,修改需要步骤如下:
mysql -S/var/lib/mysql/mysql.sock -uroot -p
使用初始化密码登录,执行下面的语句,设置新密码为 1qaz@WSX
SET PASSWORD = PASSWORD('1qaz@WSX');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;


后续可以这样修改密码了
update mysql.user set authentication_string=password('1qaz@WSX') where user='root';


如果服务没有起来,考虑  

/usr/sbin/mysqld --defaults-file=/data/mysqld/my.cnf --daemonize --user=mysql --basedir=/usr/bin --datadir=/data/mysql --pid-file=/data/mysqld/mysqld.pid


0 0
原创粉丝点击