centos安装mysql5.7.tar.gz
下载链接
https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz
1、将下载好的安装到解压到/usr/local目录下
tar -zxvf mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
2、进入/usr/local目录
cd /usr/local/
3、为mysql安装目录创建软链接
ln -s mysql-5.7.39-linux-glibc2.12-x86_64 mysql
4、为centos添加mysql用户组和mysql用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
5、进入安装mysql软件的目录,命令如下
cd /usr/local/mysql
6、修改当前目录拥有者为新建的mysql用户,命令如下:
chown -R mysql:mysql ./
7、安装mysql,命令如下:
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
如果出现如下图所示则为安装成功,红线部分为生成的默认密码:默认密码一定要记住,一会要用
8、开启mysql服务,命令如下:
./support-files/mysql.server start
如果出现如下错误
则说明出现了两个问题,
问题1:没有日志文件
执行命令
touch /var/log/mariadb/mariadb.log
问题2:mysql配置文件/etc/my.cnf中的路径不对,修改内容如下,datadir和socket都修改成mysql的安装目录下,增加[client]板块,用于命令行连接mysql数据库。
[mysqld]
port=3306
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
user=mysql
max_connections=151
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# 设置忽略大小写
lower_case_table_names = 1
# 指定编码
character-set-server=utf8
collation-server=utf8_general_ci
# 开启ip绑定
bind-address = 0.0.0.0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#指定客户端连接mysql时的socket通信文件路径
[client]
socket=/usr/local/mysql/mysql.sock
default-character-set=utf8
再次执行命令
./support-files/mysql.server start
提示
9、将mysql进程放入系统进程中,命令如下:
cp support-files/mysql.server /etc/init.d/mysqld
10、重新启动mysql服务,命令如下:
service mysqld restart
11、配置mysql环境变量
vi /etc/profile
export PATH=$PATH:/usr/local/mysql/bin
保存退出,再编译下:
source /etc/profile
12、使用随机密码登录mysql数据库,命令如下:
mysql -u root -p
输入随机密码登录成功如下图所示:
13、进入mysql操作行,为root用户设置新密码(小编设为root):
alter user 'root'@'localhost' identified by 'root';
14、设置允许远程连接数据库,命令如下:
先选择数据库:
use mysql
update user set user.Host='%' where user.User='root';
15、刷新权限,命令如下:
flush privileges;