Centos下的MySQL安装及配置
里使用的是VMware虚拟机和Centos7系统
虚拟机安装这里不多讲,网上教程很多了,这里就介绍下虚拟机的网络配置。
虚拟机网络配置
Centos网络连接模式这里设置为桥接模式,不用勾选复制物理网络连接状态
然后安装好 通过命令行
$su 下一行输入密码 获得root用户权限
$cd /etc/sysconfig/network-scripts 进入该目录
$vi ifcfg-ens33 文件 这里文件名可能不一样
我们等会通过Xshell连接到虚拟机,这里我们就固定虚拟机IP。
将BOOTPROTO 设置为none或者static;
ONBOOT 开机是否启动网卡 yes
IPV6没用设置为no;
这里IPADDR (虚拟机Ip地址)和GATEWAY(网关)注意下:
打开Windows的cmd ,输入 ipConfig /all 查看主机的网络配置信息
虚拟机IP地址需要和主机IP地址在同一网段,默认网关需相同。
配置好后可以在虚拟机中 ping www.baidu.com 查看网络是否连接。
最后就可以通过Xshell连接虚拟机,教程也很多这里不多赘述。
在Xshell中配置MySQL
首先 安装 wget 服务 相当于软件仓库。
命令行 :
yum install wget -y 安装wget服务
wget https://dev.mysql.com/get/Down1oads/MySQL-8.0/mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz 安装mysql的压缩文件
xz -d mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz 解压 由xz文件转换为tar
在通过 tar -xvf mysql-8.0.15-linux-glibc2.12-x86_64.tar 提取文件
然后将 mysql-8.0.15-linux-glibc2.12-x86_64文件移动到 /usr/local/mysql 目录
mv mysql-8.0.15-linux-glibc2.12-x86_64 /usr/local/mysql
启动mysql
添加mysql账号
adduser mysql
替换 /etc/my.cnf文件 这里提供该文件my.cnf下载链接下载my.zip解压
然后继续在mysql目录下建立是三个目录
mkdir data(数据库文件) sql_log(日志文件) undo
将这是三个目录更改用户为mysql
chown mysql:mysql -R data/ sql_log/ undo/
初始化MYSQL
配置系统变量
vi /etc/profile
文件末尾添加 export PATH=$PATH:/usr/local/mysql/bin
source /etc/profile 变量生效
初始化
mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
然后继续在mysql目录下
cd support-files
cp mysql.server /etc/init.d/mysqld
/etc/init.d/mysqld start 启动mysql服务
更改mysql登录密码
还是在mysql目录下
cd sql_log
grep password mysql-error.log
初始密码 红框标记
mysql -uroot -p 登录mysql
alter user user() identified by '新密码';
图形化界面连接Linux下的mysql
下面我们使用SQLyog 连接Linux下的 mysql;
在这个过程中 你可能会遇到
错误代码2003; 解决方案:关闭 linux 防火墙
错误代码1130; 解决方案:给数据库授权
命令行:
$ mysql -uroot -p
Enter password:
mysql> show database;
mysql> use mysql;
mysql> update `user` set `host` = '%' where `user` = 'root';
mysql> flush privileges;
mysql> exit;
Bye
注意这里的反引号;
再次连接成功;
DCL(数据库访问控制语句)
创建数据库用户:
CREATE USER username@'ip' IDENTIFIED BY 'password' WITH MAX_USER_CONNECTIONS 1;
给账户进行授权
GRANT SELECT,DELETE ON tablename TO username@'ip' ;
收回账户权限
REVOKE SELECT,DELETE ON tablename TO username@'ip';