数据库
首页 > 数据库> > Linux 安装Mysql 详细教程

Linux 安装Mysql 详细教程

作者:互联网

一、查看是否已经安装 Mysql

rpm -qa | grep mysql

以下输出表示没有

[root@arcgis ~]# rpm -qa | grep mysql
[root@arcgis ~]#

如果你查看出来有东西,可以使用下面命令将其删除(xxx 为文件全名)

rpm -e xxx

二、下载官方 Mysql 包

https://downloads.mysql.com/archives/community/

如果下载缓慢的话,可以试试迅雷

三、上传解压(解压后可删除安装包,节省空间)

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

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

groups mysql 
[root@arcgis]# groups mysql
groups: mysql: no such user

添加用户组和用户

groupadd mysql && useradd -r -g mysql mysql
[root@arcgis]# groupadd mysql && useradd -r -g mysql mysql
[root@home]# groups mysql
mysql : mysql

四、创建数据目录并赋予权限

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

五、修改配置文件

my.cnf不要改文件名

vim /etc/my.cnf

content

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

六、初始化

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

cd /usr/local/mysql/bin/

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

七、查看初始密码

cat /data/mysql/mysql.err

八、启动mysql

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

service mysql start

九、修改密码

  1. 开启免密码登陆 修改my.cnf文件 默认在/etc/my.cnf。
vim /etc/my.cnf  # 在【mysqld】模块下面添加:skip-grant-tables 保存退出。
  1. 重启服务,使配置生效 。
service mysql restart
  1. 登陆
/usr/local/mysql/bin/mysql -u root -p   # 不输入密码直接敲回车键

  1. 刷新规则允许外部访问
use mysql;  #选择访问mysql库

update user set host = '%' where user = 'root';  #使root能再任何host访问

FLUSH PRIVILEGES;  #刷新 

5.修改密码

ALTER USER "root"@"%" IDENTIFIED  BY "1234";

FLUSH PRIVILEGES;   #刷新 

  1. 退出
quit     

/etc/my.cnf免密删掉

重启服务service mysql restart

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

十、用户权限之创建新用户并给授权指定的数据库权限

创建mysql新用户

CREATE USER 'test'@'%' IDENTIFIED BY '123';

备注上面@后的命令解释

'%' - 所有情况都能访问
'localhost' - 本机才能访问
'111.222.33.44' - 指定 ip 才能访问

给用户授予权限

grant all on 数据库名.数据库表 to 用户名@'%'  identified by "密码";

备注

all 可以替换为 select,delete,update,create,drop
数据库名 所有的 用*
数据库表 所有的 用*

标签:教程,root,Mysql,Linux,cnf,usr,mysql,my,local
来源: https://www.cnblogs.com/echohye/p/16561864.html