1、实验环境
服务器类型:VMware虚拟机
服务器操作系统:CentOS-7.5
服务器名称:CentOS-1
服务器IP:192.168.218.128
防火墙+selinux均已关闭
网络连通状况:服务器可以上外网
2、MySQL-5.7 安装源的下载
1)先卸载系统自带的mariadb
[[email protected] ~]#
[[email protected] ~]# rpm -qa mariadb
mariadb-libs-5.5.56-2.el7.x86_64
[[email protected] ~]#
[[email protected] ~]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
[[email protected] ~]#
[[email protected] ~]# rpm -qa mariadb
[[email protected] ~]#
2)下载并安装mysql-5.7的安装源
yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm #安装mysql-5.7的安装源
[[email protected] ~]# ll /etc/yum.repos.d/ | grep ‘mysql-community*‘
[[email protected] ~]#
[[email protected] ~]# yum list mysql-community-server
3、删除Linux系统原来自带的 my.cnf 文件(如果存在的话)
[[email protected] ~]# rm -rf /etc/my.cnf
[[email protected] ~]#
4、安装 MySQL-5.7
[[email protected] ~]#
[[email protected] ~]# yum -y install mysql-community-server #安装mysql
[[email protected] ~]# rpm -q mysql-community-server
mysql-community-server-5.7.29-1.el7.x86_64
[[email protected] ~]#
5、启动MySQL-5.7
[[email protected] ~]#
[[email protected] ~]# systemctl start mysqld.service #启动mysql
[[email protected] ~]# systemctl enable mysqld.service #设置mysql服务为自启动
[[email protected] ~]#
[[email protected] ~]# lsof -i:3306
[[email protected] ~]#
6、修改配置文件
[[email protected] ~]#
[[email protected] ~]# mkdir /var/lib/mysql/binary_log #创建用于存放binlog日志的目录‘binary_log‘
[[email protected] ~]# ls /var/lib/mysql/binary_log
[[email protected] ~]#
[[email protected] ~]# ll /var/lib/mysql | grep ‘binary_log‘ #查看‘binary_log‘目录的权限
[[email protected] ~]#
[[email protected] ~]# chown -R mysql.mysql /var/lib/mysql/binary_log #修改该目录权限
[[email protected] ~]# ll /var/lib/mysql | grep ‘binary_log‘
[[email protected] ~]# vim /etc/my.cnf #编辑修改mysql服务器的配置文件
说明:因为后期要配置主从同步,所以配置文件中设置server-id,以及binlog存储文件以master_a-binlog开头(master_a表示第一个主服务器)
[[email protected] ~]# cat /etc/my.cnf #查看修改后的配置文件
[[email protected] ~]#
[[email protected] ~]# systemctl restart mysqld.service #重启mysql服务,使配置生效
[[email protected] ~]#
[[email protected] ~]#
[[email protected] ~]# ll /var/lib/mysql/binary_log/ #查看此时是否生成了binlog文件
7、MySQL登录测试
[[email protected] ~]#
[[email protected] ~]# grep ‘temporary‘ /var/log/mysqld.log #查看系统分配的mysql临时登录密码
[[email protected] ~]# mysql -uroot -p‘piDr2,8x#W6S‘ #使用临时密码登录mysql并做查询操作,发现查询失败
[[email protected] ~]#
[[email protected] ~]# mysql -uroot -p‘piDr2,8x#W6S‘ #再次登录mysql,根据错误提示进行排错
mysql>
mysql> show databases; #查看错误提示
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql>
mysql> ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘[email protected]‘; #根据错误提示进行排错
Query OK, 0 rows affected (0.00 sec)
mysql>
mysql> flush privileges; #刷新权限
Query OK, 0 rows affected (0.00 sec)
mysql>
8、使用安全配置向导设置MySQL(MySQL初始化)
[[email protected] ~]#
[[email protected] ~]# mysql_secure_installation #安全配置向导
Securing the MySQL server deployment.
Enter password for user root: #输入root用户密码‘[email protected]‘
The ‘validate_password‘ plugin is installed on the server.
The subsequent steps will run with the existing configuration
of the plugin.
Using existing password for root.
Estimated strength of the password: 100 #预计密码强度为100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : y #更改root用户密码(是或者否)
New password: #输入新root密码,此处新密码设置为“Mysql.2020”
Re-enter new password: #再次输入新root密码“Mysql.2020”
Estimated strength of the password: 100 #预计密码强度为100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y #您是否要继续使用提供的root密码(是或者否)
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y #是否删除匿名用户
Success.
Normally, root should only be allowed to connect from
‘localhost‘. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y #禁止root用户从远程登录mysql服务器
Success.
By default, MySQL comes with a database named ‘test‘ that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y #是否删除测试数据库
- Dropping test database...
Success. - Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y #现在重新加载授权表
Success.
All done!
[[email protected] ~]#
9、MySQL登录
[[email protected] ~]#
[[email protected] ~]# mysql -uroot -p‘Mysql.2020‘
原文地址:https://blog.51cto.com/14783377/2485030