- 创建组和用户
groupadd mysql useradd -r -g mysql mysql
- 解压二进制压缩包到目录
我这边将二进制压缩包解压在/usr/local/developer
目录下//解压 tar xvJf mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz //将解压包改名为"mysql" mv /usr/local/developer/mysql-8.0.16-linux-glibc2.12-x86_64/ /usr/local/developer/mysql
- 修改权限,目的是保证安装
mysql
目录的所有者为mysql
用户,所属组为mysql
组//修改所有者为"mysql"用户 chown -R mysql . //修改所属组为"mysql"组 chgrp -R mysql .
- 初始化数据库
初始化执行完成后会出现如下图所示内容,红框标记数据库初始密码//创建mysql_install_db mkdir mysql_install_db //修改权限 chmod 777 ./mysql_install_db //初始化 bin/mysqld --initialize --user=mysql --basedir=/usr/local/developer/mysql --datadir=/usr/local/developer/mysql/data
如果遇到类似没有libnuma.so.1的问题,则需要使用如下命令安装libnumayum install libnuma yum -y install numactl yum install libaio1 libaio-dev
- 配置
mysql
//修改"my.cnf" vim /etc/my.cnf //添加如下内容 """ [mysqld] basedir = /usr/local/developer/mysql datadir = /usr/local/developer/mysql/data socket = /usr/local/developer/mysql/mysql.sock character-set-server=utf8 port = 3306 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLE [client] socket = /usr/local/developer/mysql/mysql.sock """
-
mysql
服务,配置完成后可以使用service mysql start/stop/status/...
命令启动/停止/mysql服务状态等//配置"mysql"服务 cp /usr/local/developer/mysql/support-files/mysql.server /etc/init.d/mysql chmod +x /etc/init.d/mysql chkconfig --add mysql //检查服务是否生效 chkconfig --list mysql
- 配置环境变量
//添加"mysql"环境变量 vim /etc/profile //添加如下内容 """ export MYSQL_HOME=/usr/local/developer/mysql export PATH=$PATH:$MYSQL_HOME/bin:$MYSQL_HOME/lib """ //环境变量生效 source /etc/profile
- 启动
mysql
服务service mysql start
- 登录
mysql
,并修改root密码mysql -u root -p //结果展示 """ Enter password: 输入初始密码 进入mysql mysql> """ //修改"root"密码 mysql> alter user 'root'@'localhost' identified by '******'; //退出"mysql" mysql> exit;
- 使用Navicat远程连接
问题:Host "xxx" is not allowed to connect to this MySql server
原因:root用户的host没有需要进行连接访问的主机ip名称
解决办法:修改root用户的host的值
问题:2003 - Can't connect to MySQL server on//进入mysql mysql -uroot -p //切换到"mysql"库 mysql> use mysql; //查看"mysql"库中"user"表的host值 mysql> select 'host' from user where user='root'; //修改"mysql"库中"user"表的host值 mysql> update user set host='%' where user='root'; //刷新"mysql"的系统权限相关表 mysql> flush privileges; //查看"mysql"库中"user"表的host的值是否修改 select user,host from user where user='root'; //查看结果,user="root",host="%",说明修改成功 """ +------+------+ | user | host | +------+------+ | root | % | +------+------+ """
原因:大部分原因是由于防火墙中没有开放mysql的3306端口
解决办法:将3306端口添加到防火墙的开放端口中//查看防火墙的开放端口,发现没有3306端口 sudo firewall-cmd --list-ports //添加3306端口 sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent //重启防火墙 sudo firewall-cmd --reload
Linux安装MySql8.0.16
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...