mysql安装包

 1.安装包下载地址 

 MySQL :: Download MySQL Community Server (Archived Versions)

2.选择对应的包 如下5.7包

 下载和安装mysql

  

cd /usr/local && mkdir mysql && cd mysql

wget https://downloads.mysql/archives/get/p/23/file/mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz

  解压mysql

tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz

设置环境变量 

vim /etc/profile

添加

export MYSQL_HOME="/usr/local/mysql/mysql-5.7.35"
export PATH="${MYSQL_HOME}/bin:${PATH}"

创建mysql用户


 1. 先检查是否有mysql用户组和mysql用户,没有就添加有就忽略:

groups mysql 

 2.添加用户组和用户

groupadd mysql && useradd -r -g mysql mysql

修改myf文件

1.创建数据目录并赋予权限

mkdir -p /usr/local/mysql/mysql-5.7.35/data
chown mysql:mysql -R /usr/local/mysql/mysql-5.7.35/data

2.修改配置文件  vim /etc/myf (没有就新建)

[mysqld]
#bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql/mysql-5.7.35
datadir=/usr/local/mysql/mysql-5.7.35/data
socket=/usr/local/mysql/mysql-5.7.35/socket/mysql.sock
log-error=/usr/local/mysql/mysql-5.7.35/mysql.err
pid-file=/usr/local/mysql/mysql-5.7.35/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

这里socket设置为/tmp/mysql.sock会报 Can't connect to local MySQL server through socket '/tmp/mysql.sock' ,因为路径需要权限/tmp属于系统文件路径,所以我们可以指定自己创建一个路径,这里我创建的是/usr/local/mysql/mysql-5.7.35/socket,mysql.sock是自动生成的。

这里还有坑,如果这里不配置[client]是无法命令行登录mysql客户端的,因为不设置socket默认也是/tmp/mysql.sock,所以我们要加上以下配置

[client]
port=3306
socket=/usr/local/mysql/mysql-5.7.35/socket/mysql.sock

添加后的配置

[client]
port=3306
socket=/usr/local/mysql/mysql-5.7.35/socket/mysql.sock
[mysqld]
#bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql/mysql-5.7.35
datadir=/usr/local/mysql/mysql-5.7.35/data
socket=/usr/local/mysql/mysql-5.7.35/socket/mysql.sock
log-error=/usr/local/mysql/mysql-5.7.35/mysql.err
pid-file=/usr/local/mysql/mysql-5.7.35/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

初始化mysql服务

解压后的mysql-5.7.35-linux-glibc2.12-x86_64文件移动到(文件夹名称修改为mysql不带版本号信息)

cd /usr/local/mysql/mysql-5.7.35/bin
./mysqld --defaults-file=/etc/myf --user=mysql --initialize

在安装mysql时如果遇到以下错误

./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

原因是没有安装libaio.so.1,安装即可。

Ubuntu下执行:

apt-get install libaio1 libaio-dev

Redhat/Fedora/CentOS下执行:

yum install libaio

 启动mysql服务

      mysql.server:启动mysql服务(mysqld)的脚本

cp /usr/local/mysql/mysql-5.7.35/support-files/mysql.server /etc/init.d/mysql
service mysql start

  启动mysql的方式有很多种:

   1. systemctl start mysql

   2.service mysql start

   3.cd /etc/init.d&&./mysql start

登录mysql客户端

查看初始化密码

cat /usr/local/mysql/mysql-5.7.35/mysql.err

 红色方框内容即为初始密码。

mysql -uroot -p

 输入初始密码即可。

修改密码

1. 开启免密码登陆 修改myf文件   默认在/etc/myf。

 vim /etc/myf        

在【mysqld】模块下面添加:skip-grant-tables 保存退出。

 2. 重启服务,使配置生效 。   

 service mysql restart

3. 登陆     /usr/local/mysql/bin/mysql -u root -p   //不输入密码直接敲回车键

4. 刷新规则允许外部访问(根据个人所需设置,非必需设置)
 

 use mysql      #选择访问mysql库
  update user set host = '%' where user = 'root';      #使root能再任何host访问
  FLUSH PRIVILEGES;       #刷新 

5.修改密码

update user set authentication_string = password('123456'), password_expired = 'N', password_last_changed = now() where user = 'root';

FLUSH PRIVILEGES;       #刷新 

 6. 退出   quit     

   把/etc/myf免密删掉。

    重启服务    service mysql restart

7. 登陆   /usr/local/mysql/bin/mysql -u root -p   //输入刚修改的密码123456敲回车键


如果是阿里云ECS,记得查看云安全组规则是否开放了3306端口,如果没有,记得加上

更多推荐

Linux 安装Mysql 详细教程