您现在的位置是:自如初>LinuxLinux
全网最细且手把手一起学CentOS8.0源码编译安装LNMP环境之MySQL8源码安装(二)
夕阳何处寻
2019-10-07 21:22:31
【Linux】
1970人已围观
简介我使用的是CentOS8,其内置的gcc与cmake都是达到了安装mysql8.0.15以上版本的要求。但是在安装mysql8.0.17过程中报了很多错误,也解决了很多错误,但是最终仍旧有问题没有解决掉。因此,不断降低版本,而最后的错误仍旧一样。
三、源码安装mysql8.0.17
安装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
很赞哦!(10)
相关文章
- CentOS8编译安装(升级)php7.4.1及问题解决
- Linux文件类型与扩展名详读
- Linux文件权限之目录与文件权限的含义
- 全网最细且手把手一起学CentOS8.0源码编译安装LAMP环境之php7.3.10源码安装(三)
- 全网最细且手把手一起学CentOS8.0源码编译安装LAMP环境之mysql8.0.17源码安装(二)
- CentOS8毫无难度的源码编译安装git
- 超级详细的CentOS8安装composer
- 全网最细且手把手一起学CentOS8.0源码编译安装LNMP环境之PHP7.3.10源码安装(三)
- 全网最细且手把手一起学CentOS8.0源码编译安装LNMP环境之MySQL8源码安装(二)
- 全网最细且手把手一起学CentOS8.0源码编译安装LNMP环境之nginx源码安装(一)
文章评论
点击排行

- CentOS8编译安装(升级)php7.4.1及问题解决
- 全网最细且手把手一起学CentOS8.0源码编译安装LAMP环境之apache2源码安装(一)
- ThinkPHP6使用Base公共控制器redirect()不起作用的解决方法
- WSL安装Linux报错WslRegisterDistribution failed with error: 0x80370102
- 全网最细且手把手一起学CentOS8.0源码编译安装LNMP环境之nginx源码安装(一)
- 快速上手Laravel6 Eloquent ORM 增删改查
- 超级详细的CentOS8安装composer
- ThinkPHP6上传图片至七牛云