linux安装mysql

//centos7 mysql创建

1.安装必要的组件:
yum install –y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c++ libaio libaio-devel bzr bison libtool ncurses5-devel    

2.下载安装包(安装包默认下载到当前目录):
wget https://dev.mysql.com//Downloads/MySQL-5.7/mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz    

3.移动到/usr/local目录下,可以使用远程连接工具,也可以使用命令

 先使用ls 查看当前目录是否已经下载了安装包,如果下载了,就使用pwd 查看当前的路径

 接着切到/usr/local目录,使用cd /usr/local

 使用 mv 压缩包所在的路径,如/home/mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz   /usr/local/.   #.代表当前目录
 这样执行后就将压缩包移动到该路径了

 4.解压 tar -zxvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz

 5.解压后重命名 mv mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz mysql

 6.进入文件夹的support-files    cd /usr/local/mysql/support-files/
 将mysql配置文件拷贝到etc下    cp my-default.cnf /etc/my.cnf

 7.vi /etc/my.cnf    编辑配置文件    
 [mysqld]下方添加:
 character-set-client-handshake = FALSE
 character-set-server = utf8mb4 
 collation-server = utf8mb4_unicode_ci    
 [client] 
 default-character-set=utf8mb4

 把sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABL 删掉或者注释掉。

    
8.复制mysql.server 到/etc/init.d/  目录下【目的想实现开机自动执行效果】    
       cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql        
9.vim /etc/init.d/mysql    
修改或者替换    
basedir=/usr/local/mysql    
datadir=/usr/local/mysql/data

linux用户创建:

  groupadd mysql
 useradd -r -g mysql mysql
 chown -R mysql:mysql /usr/local/mysql



10.生成初始密码
cd /usr/local/mysql/bin    
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data    
执行后,看最后一行A temporary password ....记住生成的临时密码

11.给数据库加密:
./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
/mysqld_safe --user=mysql &

12.修改密码:
cd /usr/local/mysql/bin/
./mysql -uroot -p 按回车
输入临时密码
13.之后会进入mysql操作命令行出现mysql>这样的符号

set password=password('新的密码');

14.授权远程登录:
grant all privileges on *.* to 用户名@'%' identified by '密码';           //其中用户名和密码可以随便设置,设置的账号和密码可以使用navicat登录,这里的账号密码是mysql的不是linux的,当然,你也可以使用linux账户密码

mysql>flush privileges; //刷新授权

补充:如果想设置一个对数据库拥有只读的权限,则:grant select on *.* to mingming@"%" identified by "abc123"; //创建只读账户,同理只拥有update权限就只要将select改成update ,insert delete语句同样

15.ctrl + z(window下)退出mysql命令行模式


16.设置mysql开机启动

chkconfig --add mysql
chkconfig mysql on

17.设置环境变量:
vim /etc/profile
在末尾加上 
PATH=$PATH:/usr/local/mysql/bin 
export PATH    如果已经存在Path变量名,如安装了jdk后就会已经有PATH 环境变量名,此时可以直接添加$PATH:/usr/local/mysql/bin 到PATH的值后面,用:冒号隔开不同的环境变量
source /etc/profile 重新启动该文件
18.防火墙开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp--permanent
重启方法墙:

systemctl restart firewalld.service

其他:
mysql中可以给你一个用户授予如select,insert,update,delete等其中的一个或者多个权限,主要使用grant命令,用法格式为:
grant 权限 on 数据库对象 to 用户
一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。
grant select on testdb.* to common_user@'%'
grant insert on testdb.* to common_user@'%'
grant update on testdb.* to common_user@'%'
grant delete on testdb.* to common_user@'%'
或者,用一条 MySQL 命令来替代:
grant select, insert, update, delete on testdb.* to common_user@'%';
原文地址:https://www.cnblogs.com/yangxiaohui227/p/11097275.html