此安装环境系统为 centos 7 ,其他系统包管理工具略有不同。
一、卸载系统较旧版本
redhat和centos可以使用以下命令直接卸载
rpm -qa | grep mariadb | xargs rpm -e --nodeps
rpm -qa | grep mysql | xargs rpm -e --nodeps
二、安装mysql
1、准备工作
将下载好的源文件(rpm-bundle.tar)解压至一个目录中,从而为安装做准备。
将会得到以下文件列表(不一定需要全安装):
mysql-community-libs-compat-5.7.18-1.el6.x86_64.rpm
mysql-community-test-5.7.18-1.el6.x86_64.rpm
mysql-community-libs-5.7.18-1.el6.x86_64.rpm
mysql-community-common-5.7.18-1.el6.x86_64.rpm
mysql-community-embedded-5.7.18-1.el6.x86_64.rpm
mysql-community-embedded-devel-5.7.18-1.el6.x86_64.rpm
mysql-community-client-5.7.18-1.el6.x86_64.rpm
mysql-community-devel-5.7.18-1.el6.x86_64.rpm
mysql-community-server-5.7.18-1.el6.x86_64.rpm
2、安装mysql包
可以通过使用命令rpm -ivh {-file-name}进行安装操作,推荐安装以下包:
rpm -ivh mysql-community-common-5.7.18-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.18-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.18-1.el6.x86_64.rpm
rpm -ivh mysql-community-client-5.7.18-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-5.7.18-1.el6.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.18-1.el7.x86_64.rpm
3、初始化
mysql开机自启:
systemctl enable mysql
重启mysql服务:
systemctl restart mysql
查看mysql自动生成的密码串:
grep 'temporary password' /var/log/mysqld.log
#查询结果
2018-05-03T07:58:06.654950Z 1 [Note] A temporary password is generated for root@localhost: J#cRDfsZ68XK
使用mysql官方脚本初始化:
mysql_secure_installation
#交互式结果
...
Enter current password for root (enter for none): J#cRDfsZ68XK
Set root password? [Y/n] <Enter>
New password: r
Re-enter new password: r
Remove anonymous users? [Y/n] <Enter>
Disallow root login remotely? [Y/n] <Enter>
Remove test database and access to it? [Y/n] <Enter>
Reload privilege tables now? [Y/n] <Enter>
三、其他配置
若对mysql的数据存放位置、日志位置、字符编码等需要进行修改,可修改 /etc/my.cnf 文件后重启生效。
#/etc/my.cnf
[client]
default-character-set=utf8 ###设定客户端连接字符集
[mysql]
auto-rehash ####自动补全命令
default-character-set=utf8 ####mysql连接字符集
[mysqld]
innodb_buffer_pool_size = 128M
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
#basedir=/home/data/mysql ###定义MySQL存放位置
datadir=/mysql/data ###设定数据存放位置
socket=/mysql/data/mysql.sock ###设定服务端字符集
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES