你想在Linux操作系统安装Mysql?你不想去官网下载再复制?,那就来看看我的方案,简单、快捷轻松安装、使用。
首先,检查安装情况
然后,执行安装
[root@VM_235_40_centos ~]# yum install mysql Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile Resolving Dependencies --> Running transaction check ---> Package mariadb.x86_64 1:5.5.52-1.el7 will be installed --> Processing Dependency: mariadb-libs(x86-64) = 1:5.5.52-1.el7 for package: 1: mariadb-5.5.52-1.el7.x86_64 --> Running transaction check ---> Package mariadb-libs.x86_64 1:5.5.35-3.el7 will be updated ---> Package mariadb-libs.x86_64 1:5.5.52-1.el7 will be an update --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: mariadb x86_64 1:5.5.52-1.el7 os 8.7 M Updating for dependencies: mariadb-libs x86_64 1:5.5.52-1.el7 os 761 k Transaction Summary ================================================================================ Install 1 Package Upgrade ( 1 Dependent package) Total download size: 9.5 M Is this ok [y/d/N]: y Downloading packages: Delta RPMs disabled because /usr/bin/applydeltarpm not installed. (1/2): mariadb-libs-5.5.52-1.el7.x86_64.rpm | 761 kB 00:00 (2/2): mariadb-5.5.52-1.el7.x86_64.rpm | 8.7 MB 00:00 -------------------------------------------------------------------------------- Total 16 MB/s | 9.5 MB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Updating : 1:mariadb-libs-5.5.52-1.el7.x86_64 1/3 Installing : 1:mariadb-5.5.52-1.el7.x86_64 2/3 Cleanup : 1:mariadb-libs-5.5.35-3.el7.x86_64 3/3 Verifying : 1:mariadb-5.5.52-1.el7.x86_64 1/3 Verifying : 1:mariadb-libs-5.5.52-1.el7.x86_64 2/3 Verifying : 1:mariadb-libs-5.5.35-3.el7.x86_64 3/3 Installed: mariadb.x86_64 1:5.5.52-1.el7 Dependency Updated: mariadb-libs.x86_64 1:5.5.52-1.el7 Complete!
装完之后,发现不是mysql,而是MariaDB,是mysql的一个分支,我要安装的是mysql不是这个分支,只好删除,先交给大家彻底删除Mysql语法:
[root@localhost usr]# yum remove mysql mysql-server mysql-libs compat-mysql51 [root@localhost usr]# rm -rf /var/lib/mysql [root@localhost usr]# rm /etc/my.cnf
如果装了mysql-devel(其他一样add command),卸载为:
[root@Tony_ts_tian init.d]# yum remove mysql mysql-devel mysql-server mysql-libs compat-mysql51
Ok,卸载完成,重新安装。
1.首先到官网下载组件,http://dev.mysql.com/downloads/repo/yum/,找到跟系统对应的版本(用uname查看版本,如下图)
2.使用wget
命令把相应的rpm包下下来,这个包很小只有几k
[root@VM_235_40_centos ~]# wget https://repo.mysql.com//mysql57-community-release-el7-9.ch.rpm --2017-04-05 16:32:26-- https://repo.mysql.com//mysql57-community-release-el7-9.noarch.rpm Resolving repo.mysql.com (repo.mysql.com)... 23.50.25.213 Connecting to repo.mysql.com (repo.mysql.com)|23.50.25.213|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 9224 (9.0K) [application/x-redhat-package-manager] Saving to: 'mysql57-community-release-el7-9.noarch.rpm' 100%[============================================================>] 9,224 --.-K/s in 0s 2017-04-05 16:32:28 (75.1 MB/s) - 'mysql57-community-release-el7-9.noarch.rpm' saved [9224/9224]
然后安装上这个组件:
[root@VM_235_40_centos ~]# rpm -Uvh mysql57-community-release-el7-9.noarch.rpm warning: mysql57-community-release-el7-9.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5KEY Preparing... ################################# [100%] Updating / installing... 1:mysql57-community-release-el7-9 ################################# [100%] [root@VM_235_40_centos ~]cd /etc/yum.repos.d
注:在安装组件过程有些朋友平台可能会出现异常: Failed dependencies
在安装包后面加两个参数,如下
[root@magnesium Downloads]# rpm -ivhMySQL-server-5.5.29-2.linux2.6.x86_64.rpm --nodeps --force Preparing... ###########################################[100%] 1:MySQL-server ########################################### [100%] ......
安装完成后会发现/etc/yum.repos.d会多了两个mysql的repo文件:
[root@VM_235_40_centos yum.repos.d]# ls CentOS-Base.repo mysql-community-source.repo CentOS-Epel.repo mysql-community.repo
3. 安装mysql
$ yum install mysql-server
根据步骤安装就可以了,不过安装完成后,没有密码,需要重置密码。
4. 重置密码
重置密码前,首先要登录
$ 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的拥有者改为当前用户:
$ chown -R root:root /var/lib/mysql
然后,重启服务:
$ service mysqld restart
接下来登录重置密码:
$ mysql -u root
mysql > use mysql;
mysql > update user set password=password(‘123456‘) where user=‘root‘;
mysql> flush privileges;
mysql > exit;
5. 开放3306端口
(1)执行:/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
或者在修改文件
$ sudo vim /etc/sysconfig/iptables
添加以下内容:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 3306 -j ACCEPT
(2)保存后重启防火墙:
service iptables save
service iptables restart
在本机登陆
mysql -u root
show databases;
use mysql;
select Host, User, Password from user;
+-----------------------+------+-------------------------------------------+
| Host | User | Password |
+-----------------------+------+-------------------------------------------+
| localhost | root | *18F54215F48E644FC4E0F05EC2D39F88D7244B1A |
| localhost.localdomain | root | |
| localhost.localdomain | | |
| localhost | | |
+-----------------------+------+-------------------------------------------+
可以看到如上结果,只有localhost才设置了访问的权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
此时就可以在其他机器客户端上连接该数据库了
mysql -u root -p
show global variables like 'port';
设置表名忽略大小写
在/etc/my.cnf文件中[mysqld]的后面加
lower_case_table_names=1
0,区分大小写; 1,不区分
然后重启数据库即可
查看默认字符集
#mysql -u root - p
#(输入密码)
mysql> show variables like 'character_set%';
Mysql > show variables like 'collation_%';
利用mysql命令修改字符集:
Mysql > Set character_set_client = utf8;
Mysql > set character_set_connection = utf8;
Mysql > set character_set_database = utf8;
Mysql > set character_set_results = utf8;
Mysql > set character_set_server = utf8;
Mysql > set character_set_system = utf8;