全网最细且手把手一起学CentOS8.0源码编译安装LNMP环境之MySQL8源码安装(二)
安装rpcsvc-proto-1.4.tar.gz依赖
cd /usr/local/src
wget https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4/rpcsvc-proto-1.4.tar.gz
tar -zxvf rpcsvc-proto-1.4.tar.gz
cd rpcsvc-proto-1.4
./configure
make && make install
3.1、准备工作
卸载系统自带的mariadb数据库
#查看是否自带数据
rpm -qa|grep mariadb
卸载自带数据库
yum -y remove mariadb* boost-*
检查是否存在mysql用户、用户组,不存在,创建
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql
创建mysql用户组
groupadd mysql
创建mysql用户并禁止登陆
useradd -g mysql mysql -M -s /sbin/nologin/
若存在,删除my.cnf mysql
rm -rf /etc/my.cnf
rpm -qa | grep mysql
3.2、安装依赖
yum -y install cmake ncurses-devel
3.3、安装mysql8.0.17
cd /sur/local/src
tar -zxvf mysql-boost-8.0.17.tar.gz
cd mysql-boost-8.0.17
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DSYSCONFDIR=/etc \
-DWITH_EXTRA_CHARSETS=all \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/src/mysql-8.0.17/boost \
-DDOWNLOAD_BOOST=1
make && make install
----------编译安装过程时间很长,需要耐心等待~~~------
3.4、修改mysql目录权限
修改所属组与用户
chown -R mysql:mysql /usr/local/mysql
修改权限
chmod -R 755 /usr/local/mysql
3.5、初始化mysql
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --character-set-server=utf8
3.6、安装ssl
/usr/local/mysql/bin/mysql_ssl_rsa_setup
#此处若报缺少依赖,根据提示安装依赖包就就行了
3.7、启动mysql
/usr/local/mysql/bin/mysqld_safe --user=mysql &
【注】:用此命令开启后需要使用新的窗口连接数据库
3.8、连接mysql
第一步:连接
cd /usr/local/mysql/bin
./mysql -uroot -p
注意:不知什么原因,写完整的路径访问不到。p后面直接写上密码不可以。
第二步:修改密码
alter user 'root'@'localhost' identified by "123456";
【注】生产环境中密码千万不要随意设置成这样
3.9、设置mysql远程登陆
添加远程登陆用户
create user root@'%' identified by '123456';
为远程用户分配权限
grant all privileges on *.* to root@'%';
flush privileges;
【注】生产环境中千万不要把所有权限都分配给远程登陆用户
查看当前用户,host为 % 的用户表示远程登陆用户
select user,host from mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| root | % |
3.10、在防火墙中开启3306远程访问,这样就能通过navicat等工具连接mysql
查看是否开放3306端口
firewall-cmd --list-ports
开启防火墙
systemctl start firewalld.service
开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
刷新
firewall-cmd --reload
关闭防火墙
systemctl stop firewalld.service
禁止防火墙开机自启
systemctl disable firewalld.service
3.11、设置环境变量
vim /etc/profile
# 添加内容
export PATH=$PATH:/usr/local/mysql/bin
# 刷新
source /etc/profile
3.12、设置开机自启
1)创建配置文件
vim /usr/lib/systemd/system/mysql.service
注意:这里可以不用添加.service后缀,添加了也无妨,不影响
2)添加如下内容
[Unit]
Description=MySQL Server(8.0)
Documentation=main:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld
LimitNOFILE=5000
3)设置开机自启
systemctl enable mysql 开机自启
systemctl disable mysql 取消开机自启
4)启动mysql服务
systemctl start mysql 启动mysql服务
systemctl restart mysql 重启mysql服务
systemctl status mysql 查询mysql状态
作者语:CentOS7已经发布许久了,而如今CentOS8也已经发布,而网上多数教程所使用的命令依旧停留在CentOS6时代,这显然是不合理的。而且,云服务商如腾讯云、阿里云等已经上到了CentOS7了,作为开发人员,更应该与时俱进,使用新的命令。作为企业级服务可能不会立马使用新版本,但是作为开发人员来说,学习新东西是一种必然,竟然新版已经发布,请使用新命令,拒绝老命令。
更新时间 2019年10月26日
我是夕阳何处寻,期待和优秀的你一起同行!
夕阳何处寻
2019年10月7
请登录后再评论