CentOS7下安装mysql8

[转至:https://blog.csdn.net/VI7591/article/details/102129979]

原文章中的第四步感觉放到后面处理,否则会数据库初始化失败。

下载mysql: 
https://dev.mysql.com/downloads/mysql/

 

解压tar.xz文件:xz -d mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz

1.解压包
tar -xvf mysql-8.0.17-linux-glibc2.12-x86_64.tar

mv mysql-8.0.17-linux-glibc2.12-x86_64 /usr/local/mysql

yum install -y cmake bison bison-devel libaio-devel gcc gcc-c++ git  ncurses-devel

useradd -s /sbin/nologin mysql

 

4.初始化数据和指定安装目录和数据目录
/usr/local/mysql/bin/mysqld --initialize --console --skip-grant-tables --user=mysql --basedir=/usr/local/mysql/ --datadir=/mnt/mysql_data/

注意:

  • skip-grant-tables是让root用户无密码方式本地登录;
  • 以上执行会初始化mysql,sys,information_schema,performance_schema这四个库
  • 并指定程序目录和数据目录
  • 这一步应该放到第6步之后执行;

 

5.检查目录,并配置权限
mkdir /mnt/mysql_data
mkdir /var/log/mysql
mkdir /var/lib/mysql
touch /mnt/mysql_data/mysql.pid
touch /var/lib/mysql/mysql.sock

chown -R mysql:mysql /var/lib/mysql/
chown -R mysql:mysql /var/log/mysql
chown -R mysql:mysql /mnt/mysql_data
chmod 777 /var/lib/mysql/mysql.sock
chmod 777 /mnt/mysql_data/mysql.pid

6复制启动文件
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld

7.修改启动路径
vi /etc/init.d/mysqld

basedir=/usr/local/mysql
datadir=/mnt/mysql_data


8.增加环境变量 (最下面添加)
vi /etc/profile
export PATH=$PATH:/usr/local/mysql/bin

9.刷新配置文件
source /etc/profile

修改配置文件

vi /etc/my.cnf

 

[client]

port = 3306

default-character-set = utf8

socket = /var/lib/mysql/mysql.sock

 

[mysqld]

basedir = /usr/local/mysql

datadir = /mnt/mysql_data

socket = /var/lib/mysql/mysql.sock

log-error = /var/log/mysql/error.log

pid-file = /mnt/mysql_data/mysql.pid

max_connections = 300

character-set-server = utf8

default-storage-engine = INNODB

lower_case_table_names = 1

max_allowed_packet = 16M

user = mysql

tmpdir = /tmp

default_authentication_plugin = mysql_native_password

 

[mysql]

default-character-set = utf8

socket = /var/lib/mysql/mysql.sock

 

 

11.添加开启自启
chkconfig --add mysqld
chkconfig mysqld on

/etc/init.d/mysqld start


netstat -anpt

 

13.修改root默认密码并授权远程访问:
在/etc/my.cnf 最后增加:  skip-grant-tables = 1
重启MySQL: /etc/rc.d/init.d/mysqld restart

mysql -uroot -p
use mysql;
update user set host = '%', authentication_string = '' where user='root';
flush privileges;

select host, user, authentication_string, plugin from user;

删除/etc/my.cnf文件中的 skip-grant-tables = 1
重启MySQL: /etc/rc.d/init.d/mysqld restart

 

ALTER USER USER() IDENTIFIED BY 'Tmp123456';

 

暂时关闭防火墙测试远程连接:

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
systemctl status iptables

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值