centos mysql5.7.9安装教程_linux centos mysql5.7安装

linux centos mysql5.7安装

1.添加mysql组和mysql用户,用于设置mysql安装目录文件所有者和所属组

①groupadd mysql

②useradd -r -g mysql mysql

* useradd -r参数表示mysql用户是系统用户,不可用于登录系统。

* useradd -g参数表示把mysql用户添加到mysql用户组中。

2.将二进制文件解压到指定的安装目录,我们这里指定为 /usr/local/dev/,也可以是通用的/usr/local

①解压二进制文件, tar -zxvf mysql-5.7.25-el7-x86_64.tar.gz -C /usr/local/dev/

②mv mysql-5.7.25-el7-x86_64.tar.gz mysql   更改mysql目录名称

③cd mysql 进入mysql文件夹,也就是mysql所在的目录,

④更改mysql目录所属的组和用户。更改权限

chown -R mysql .

chgrp -R mysql .

3.初始化 MySQL 配置表

mysql5.7之前版本初始化配置表命令:

script/mysql_install_db --user=mysql --basedir=/Ultrapower/test/mysql --datadir=/Ultrapower/test/mysql/data/

--user 启动mysql的用户

--basedir mysql安装目录

--datadir mysql数据仓库目录

①初始化表配置正确执行步骤:

[root@iZuf68yf0avh1vujs5wxmjZ mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/dev/mysql/ --datadir=/usr/local/dev/mysql/data

2019-04-17T06:36:18.249349Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2019-04-17T06:36:19.872809Z 0 [Warning] InnoDB: New log files created, LSN=45790

2019-04-17T06:36:19.992575Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.

2019-04-17T06:36:20.168596Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 1c604368-60db-11e9-9a25-00163e08db58.

2019-04-17T06:36:20.361332Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.

2019-04-17T06:36:20.361910Z 1 [Note] A temporary password is generated for root@localhost: Gu/ckhuMm4u3

注意最后一行,这也是和之有版本不同的地方,它给了root一个初始密码,后面要登录的时候要用到这个密码。

②将mysql/目录下除了data/目录的所有文件,改回root用户所有,mysql用户只需作为mysql/data/目录下所有文件的所有者。

[root@rhel5-32 mysql]# chown -R root .

[root@rhel5-32 mysql]# chown -R mysql data

③mysql5.7配置文件需要修改my.cnf关键配置 复制下面这段文字 打开 /etc/my.cnf

[mysqld]

#设置3306端口

port = 3306

# 设置mysql的安装目录

basedir=/usr/local/mysql-5.7.25-el7-x86_64

# 设置mysql数据库的数据的存放目录

datadir=/usr/local/mysql-5.7.25-el7-x86_64/data

# 允许最大连接数

max_connections=200

# 服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

bind-address= 0.0.0.0

wait_timeout=2073600

interactive_timeout=2073600

[client]

socket=/tmp/mysql.sock

4. 将mysqld服务加入开机自启动项

将{mysql}/ support-files/mysql.server 拷贝为/etc/init.d/mysql并设置运行权限,这样就可以使用service mysql命令启动/停止服务,

否则就只能使用{mysql}/bin/mysqld_safe &命令来启动服务

还需要把mysql.server中basedir的相关路径,改为自定义的路径,默认路径是/usr/local/mysql

#cp mysql.server /etc/init.d/mysql

#chmod +x /etc/init.d/mysql

把mysql注册为开机启动的服务

#chkconfig --add mysql

查看是否添加成功

[root@rhel5-32 mysql]# chkconfig --list mysql

mysqld 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

5.mysql服务的开启和关闭

#/etc/init.d/mysql start 或者 service mysql start 或者 bin/mysqld_safe&

#/etc/init.d/mysql stop 或者 service mysql stop 或者 bin/mysqladmin -uroot -p

需要把mysqll加入到环境变量中,或者为mysql建立软链接

否则运行mysql命令会出现 -bash: mysql:command not found

不加环境变量,就要使用bin/mysql -uroot -p 或者bin/mysqladmin -uroot -p 命令来登录mysql服务

建立软链接:

ln -s /usr/local/dev/mysql/bin/mysql /usr/bin/mysql

6.加入环境变量

PATH=$PATH:/usr/local/dev/mysql:/usr/local/dev/mysql/bin

export PATH

7.登录mysql服务

执行:mysql -uroot -p生成的密码

连上后,在做任何操作前,mysql要求要改掉root的密码后才能进行操作。

8.启动mysql

[root@rhel5-32 mysql]# service mysql restart

如果报 Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) 错误。

将/tmp设置mysql权限 执行 chown -R mysql:mysql tmp

先杀死mysql进程 在重新启动就可以service mysqld start

9. 修改密码 创建用户 授权

修改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MSshms123!@#';

创建用户

create user 'user1'@'%' IDENTIFIED BY '123456';

create user 'test001'@'%' IDENTIFIED BY 'shms123';

授权

命令:

GRANT privileges ON databasename.tablename TO 'username'@'host'

说明:

privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL

databasename:数据库名

tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*

grant all on *.* TO 'user1'@'%';

用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:

GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

刷新权限

FLUSH PRIVILEGES

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值