Linux安装mysql网上教程千万万,除了基本的配置用户组、用户权限等基本操作一致之外,不同的操作系统、位数、版本号等,直接照葫芦画瓢安装mysql,可能会出现不同的问题。
最近入手一台阿里云Linux CentOS新服务器,需安装mysql,于是先查看服务器位数、版本信息如下
位数
#uname -r
x86_64 表示64位
I386--I686 表示32位
PC server X86 系列
版本号
#lsb_release -a
即本文主要记录了Linux CentOS7.6.1810版本下,安装mysql-5.7.27 64位版本的流程
目录
一、下载安装包
二、拷贝与解压
三、配置用户组、用户
四、目录授权
五、安装数据库
六、开启SSL
七、配置my.cnf
八、启动mysql服务
九、设置开机自启动
十、(重要)修改密码
下载64位安装包 mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz
官网下载(见下图)
https://dev.mysql.com/downloads/mysql/5.7.html#downloads
迅雷下载(下载速度快一点?)
https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz
网盘下载
https://pan.baidu.com/s/1sENnOvyswiGU1AOu1cfyfA
提取码:dzdz
通过Xftp、WinSCP等ftp工具拷贝安装包到Linux目录/usr/local/
#cd /usr/local/
解压
#tar -zxvf mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz
重命名为mysql
#mv mysql-5.7.27-linux-glibc2.12-x86_64 mysql
添加用户组mysql
#groupadd mysql
添加用户mysql
#useradd -g 用户组 用户名
#useradd -r -g mysql mysql
#chown -R 用户名:用户组 授权目录
-R 表示遍历目录及子目录
#chown -R mysql:mysql /usr/local/mysql/
授权前
授权后
#/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
basedir 安装目录
datadir 数据库文件存放目录
提示A temporay password is generated for root@***:***,***,*
表示生成的临时密码为***,***,*,先把临时密码记下!!!
百度百科【SSL】
Secure Sockets Layer 安全套接层及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
简单的说就是一种安全加密协议,mysql开启SSL能够对其连接进行加密。
开启SSL
#/usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data/
授权data目录
#chown -R mysql:mysql /usr/local/mysql/data/
开启SSL后data目录下会有一系列的pem密钥文件,用于mysql连接加密。
#vi /etc/my.cnf
全部替换内容成如下配置内容
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
[mysqld_safe]
socket=/tmp/mysql.sock
#是否区分大小写:0-区分大小写,1-不区分大小写
lower_case_table_names = 1
#不开启sql严格模式
sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
#service mysqld start
替换mysqld为mysql.server
#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
修改mysqld
#vim /etc/init.d/mysqld
低行模式
Shift+‘:;’键
显示行数
?set number
插入模式
'I'键
在46、47行补充basedir、datadir的路径
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/
配置开机启动
#chkconfig --add mysqld
配置mysql软链接(已存在的请忽略此步)
#ln -s /usr/local/mysql/bin/mysql /usr/bin
连接mysql
#mysql -uroot -p
输入密码.(章节五生成的临时密码***,***,*)..
修改用户密码(语句最后的英文;不能少)
#alter user 'root'@'localhost' identified by 'rootpassword';
刷新权限(生效)
#flush privileges;
授权新用户
#GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY 'testpassword' WITH GRANT OPTION;
刷新权限(生效)
#flush privileges;