Centos7下安装MySQL

xiaoxiao2021-02-28  90

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

在Centos7下,使用命令安装mysql,会安装成mariadb。

在这里先介绍安装MariaDB,原因如上。

安装MariaDB

#安装 >>>yum install mariadb-server mariadb #启动 >>>systemctl start mariadb #进入MySQL >>>mysql -u root -p #命令行变成如下,可能有点不习惯 MariaDB [(none)]> #P.S. #相关命令 >>>systemctl start mariadb #启动MariaDB >>>systemctl stop mariadb #停止MariaDB >>>systemctl restart mariadb #重启MariaDB >>>systemctl enable mariadb #设置开机启动

安装MySQL

#下载,在这里使用的是命令行下载,也建议在图形界面下载,然后上传至服务器 >>>wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm #使用rpm安装 >>>rpm -ivh mysql-community-release-el7-5.noarch.rpm #使用yum安装mysql-community-server >>>yum install mysql-community-server #启动服务 >>>service mysqld start #进入mysql,第一次进入无密码 >>>mysql -u root -p #命令行变成如下 mysql>

配置MySQL

编码配置

#进入配置文件,若未安装vim,建议先使用命令yum install vim安装vim >>>vim /etc/my.cnf #最后加上编码配置 [mysql] default-character-set =utf8 #此处字符编码必须和/usr/share/mysql/charsets/Index.xml中一致。 #不过一般情况下使用的都是utf8

设置密码

#下面三种方法需要进入mysql >>>mysql -u root -p #方法一 mysql>insert into user(host,user,password) values('%','user_name',password("password"); #方法二 mysql>set password for user_name = password("password"); #方法三 mysql>grant all on *.* to user_name@% identified by "password"; #下面这一种方法可直接在shell下设置密码 >>>mysqladmin -u root password "password"

远程连接

#进入mysql >>>mysql -u root -p #把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户。 mysql> grant all privileges on *.* to root@'%'identified by "password";

P.S.上文引号中的user_name表示数据库的用户名,password表示对应用户的密码。即这两项是由读者自行定义的。

Mysql创建用户失败

# mysql在my.ini的配置文件中设置了严格模式,所以我们需要进行修改 # 第一步,寻找配置文件 >>>whereis my.ini # 第二步,根据上一步结果进行vim编辑 >>>vim /../my.ini # 第三步,在vim里面搜索sql-mode,删除STRICT_TRANS_TABLES,保存退出即可 # 第四步,保险起见,使刚刚的配置文件立即生效 >>>source /../my.ini

Centos7支持中文

# 编辑文件 >>>vim /etc/my.cnf # 在对应[xx]下增加修改如下代码 [client] port = 3306 socket = /var/lib/mysql/mysql.sock default-character-set=utf8 [mysqld] port = 3306 socket = /var/lib/mysql/mysql.sock default-storage-engine=INNODB character-set-server=utf8 collation-server=utf8_general_ci [mysql] no-auto-rehash default-character-set=utf8 # 保存退出,重启服务 # 重新登陆mysql检查是否成功,方法见下

Ubuntu16.04支持中文

>>>sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf # 在对应[xx]下增加以下内容,如果不存在[xx]自行增加 [mysqld] character_set_server=utf8 [mysql] default-character-set=utf8 [mysql.server] default-character-set=utf8 [mysqld_safe] default-character-set=utf8 [client] default-character-set=utf8 # 重启mysql >>>service mysql restart # 进入mysql查看配置参数 >>>mysql -uroot -p # 查看database 的value变为utf8即可 >show variables like '%character%'; # p.s.如果之前创建了表,表编码不会改变

MySQL报错“1366 - Incorrect integer value: ” XXXXXXX’ at row 1 ”

修改方法:(两种,建议第二种)

1:命令行 set names gbk;(此为设置通信编码)

2:my.cnf中查找sql-mode

将 sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION", 修改为 sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

重启mysql后即可

关于my.cnf和my.ini的说明

my.cnf常见于Linux系统,my.ini常见与windows系统,二者都是属于mysql的配置文件。一般好像在一个系统下就是只出现一种配置文件,具体区别没有深入了解,修改配置文件,根据自己的系统进行查找修改配置文件即可

Mysql交互环境自动补全

# 修改配置文件 >>>vim /etc/my.cnf # 在[mysql]部分添加auto-rehash # 保存退出,重启 >>>service mysqld restart
转载请注明原文地址: https://www.6miu.com/read-71773.html

最新回复(0)