//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
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@'%';