Centos7下安装MySQL

来源:互联网 发布:视频制作软件app 编辑:程序博客网 时间:2024/04/30 15:00

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 = 3306socket = /var/lib/mysql/mysql.sockdefault-character-set=utf8[mysqld]port = 3306socket = /var/lib/mysql/mysql.sockdefault-storage-engine=INNODBcharacter-set-server=utf8collation-server=utf8_general_ci[mysql]no-auto-rehashdefault-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
0 0
原创粉丝点击