Linux安装MySql8.0
环境:Cenos7
mysql8.0
一、下载官方镜像
https://downloads.mysql.com/archives/community/
二、下载完成后用文件上传工具上传到服务器/usr/local目录下
三、解压下载的文件
tar -xvf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
1.然后把文件夹名称修改一下
mv /usr/local/mysql-8.0.26-linux-glibc2.12-x86_64 /usr/local/mysql
2.进入mysql安装目录创建
cd /usr/local/mysql
#data目录是存放mysql数据的目录,与my.cnf文件要对应一致
mkdir data
#log目录是存放mysql日志的目录,与my.cnf文件要对应一致
mkdir log
cd /usr/local/mysql/log
#创建error.log文件存放错误日志
touch error.log
3.修改mysql文件夹权限
chmod 755 /usr/local/mysql
四、创建MySQL的安装初始化配置文件my.cnf 把下面配置粘贴进去
vi /etc/my.cnf
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
socket=/usr/local/mysql/mysql.sock
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
socket=/usr/local/mysql/mysql.sock
[mysqld_safe]
log-error=/usr/local/mysql/log/error.log
pid-file=/usr/local/mysql/mysql.pid
五、创建mysql用户组,mysql用户
groupadd mysql
useradd -g mysql mysql
修改权限
chown -R mysql.mysql /usr/local/mysql/
六、初始化,启动mysql
1.进入mysql下bin目录
cd /usr/local/mysql/bin
2.执行初始化命令
./mysqld --initialize
# 执行该命令后会自动生成一个用户名和密码+ ·
3.将mysql添加到系统服务里
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
4.修改权限
chmod 755 /etc//init.d/mysqld
5.现在可以起动mysql
#起动mysql服务
service mysql start
#停止mysql服务
service mysql stop
#重启mysql服务
service mysql restart
6.创建软连接
ln -s /usr/local/mysql/bin/mysql /usr/bin
7.然后可以在任何目录下输入以下命令,进行登录mysql
mysql -uroot -p
解决常见安装过程中出现的问题
1.这个问题首先检查配置文件my.cnf,下面这几项最基本的要核对清楚,特别是目录
[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/usr/local/mysql/mysql.sock
[mysqld_safe]
log-error=/usr/local/mysql/log/error.log
pid-file=/usr/local/mysql/mysql.pid
[client]
port=3306
socket=/usr/local/mysql/mysql.sock
2.如果上面配置文件都正确,那么就是权限没给,执行以下命令,注意自己的mysql安装目录
chown -R mysql.mysql /usr/local/mysql
开放远程连接权限,使得管理工具可以进行远程连接
首先需要开放3306端口,否则无法与外网建立连接
// 查看想开的端口是否已开
firewall-cmd --query-port=6379/tcp
添加指定需要开放的端口
firewall-cmd --add-port=123/tcp
进入mysql开放外网连接权限
mysql -uroot -pxxx
//执行以下命令
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
这里的123456为你给新增权限用户设置的密码,%代表所有主机,也可以具体到你的主机ip地址。
最后使用Navcat等SQL可视化工具进行连接