centos7安装mysql

964 阅读2分钟

1.先检查系统是否装有mysql,执行以下命令返回空值,说明没有安装

rpm -qa | grep mysql

执行yum install mysql安装命令是无效的,因为centos7默认是Mariadb,所以执行以下命令只是更新Mariadb数据库, 要删除默认的Mariadb可以用命令yum remove mysql

2.下载mysql的repo源

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

3.安装mysql-community-release-el7-5.noarch.rpm包

sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm

安装这个包后,会获得两个mysql的yum repo源:
/etc/yum.repos.d/mysql-community.repo
/etc/yum.repos.d/mysql-community-source.repo

4.安装mysql

sudo yum install mysql-server

安装后再次查看mysql

5.重置密码

mysql -u root

登录时有可能报这样的错:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:

sudo chown -R openscanner:openscanner /var/lib/mysql

如果报chown: 无效的用户: "openscanner:openscanner"错误,更换命令,并用 ll 查看目录权限列表

chown root /var/lib/mysql/

修改完毕后重启

service mysqld restart

重置登录密码

mysql -u root -p
mysql > use mysql;
mysql > update user set password=password('123456') where user='root';
mysql > exit;

重启mysql服务后才生效

service mysqld restart

6.查询数据库编码格式,确保是 UTF-8

show variables like "%char%";

需要修改编码格式为UTF-8,导入数据库sql的时候,请确保sql文件为utf8编码 进入mysql命令行后 输入

set names utf8;

7.测试

1.连接数据库

mysql -u root -p

2.创建数据库(CREATE DATABASE 数据库名) 测试库名为:testDB

CREATE DATABASE testDB;

3.选择数据库

use testDB;

4.建表 测试数据

CREATE TABLE IF NOT EXISTS `test_tab`(
   `id` INT UNSIGNED AUTO_INCREMENT,
   `title` VARCHAR(100) NOT NULL,
   `author` VARCHAR(40) NOT NULL,
   `date` DATE,
   PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

5.插入数据
测试数据:

INSERT INTO test_tab (title, author, date) 
VALUES ("学习 MySQL", "张三", NOW());

6.查看数据

select * from test_tab;

8.授权远程连接

1.为root添加远程连接的能力,链接密码为 “121212”(不包括双引号)

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '121212' WITH GRANT OPTION;

若关闭root远程连接

REVOKE ALL ON *.* FROM root@"%"; 

2.刷新

FLUSH PRIVILEGES;

3.打开防火墙,开放3306端口号, 要是不是root用户加上sudo
添加(--permanent永久生效,没有此参数重启后失效))

firewall-cmd --zone=public --add-port=3306/tcp --permanent

若要删除可执行:

firewall-cmd --zone=public --remove-port=3306/tcp --permanent

重新载入

firewall-cmd --reload

查看

firewall-cmd --zone=public --query-port=3306/tcp

9.远程连接测试

1.MySQL 连接远程数据库(192.168.13.14),端口“3306”,用户名为“root”,密码“121212”

C:\>mysql -h 192.168.13.14 -P 3306 -u root -p121212

参考 blog.csdn.net/a774630093/…