centos7mysql编译安装
centos7相比于centos6版本的,有些命令上的差异。不过,在centos7上安装mysql教程,网络上还是有的。可以查。
mysql的远程访问,一个是数据库上的授权
一个是服务器与服务器直接的防火墙设置,这2个都解决了,就能实现远程访问呀
‘贰’ centos7 编译安装mysql5.7 bison出错
#安装mysql 依赖
[html] view plain
yum -y install gcc cmake make gcc-c++ ncurses-devel openssl-devel bison ncurses chkconfig lsof
#删除mariadb相关包
#列出所有被安装的rpm package
#删除列表中的包
[html] view plain
rpm -qa | grep mariadb
rpm -e mariadb-server-5.5.44-2.el7.centos.x86_64
rpm -e mariadb-5.5.44-2.el7.centos.x86_64
rpm -e --nodeps mariadb-libs-5.5.
‘叁’ centos7怎么安装mysql并设置密码
进入mysql使用一下语句:
grant select,insert,update,delete,file on *.* to text@"%" identified by "123456";
意思是创建 text这个账户密码为123456 拥有所有远程连接权限(%表示所有,也可改成相应的ip或域名),并拥有对所有库的 插入,更新,删除权限。
‘肆’ centos7怎么安装mysql
1、Centos 7 默认不支持mysql (都是因为钱),所以centos 7默认支持的是mariadb
何为mariadb?
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
说到这,我个人强烈推荐大家开始学习MariaDB,当然由于我们一些项目还是要用mysql的,所以不能放弃。真不难学。
接下来 我讲一下centos 7对mysql的安装过程
1、如果一定要在centos 7上安装mysql ,需要卸载MariaDB,否则会冲突。
2、执行这个命令:rpm -qa | grep mariadb
3、这时会出现一些列表,都是mariadb的包,接下来我们要干掉
4、执行如下命令rpm -e –nodeps mariadb-libs-XXXXX.x86_64 (注意我这里的xxxx, 要根据第三步出现的列表 ,挨个干)
5、干完后,就可以安装mysql了。
6、去度娘搜索mysql的rpm包,一大把。我用的是5.6.22 .(找不到的,问我要)
ww
这里需要安装 至少2个,1个是mysql-server-xxxx.rpm (这个就是服务端), 还有一个是mysql-client-xxxx.rpm(这个是客户端,不想装?不装的话你没法初始化root密码,求懂)
7、执行 rpm -ivh “上面两个文件名 ”
8、这样就装好了。
9、然后 执行:service mysql start (如果OK,说明装好了)
10、再然后执行:service mysql stop (不要问为什么,因为默认root没有密码,你进不去,所以接下来我们要绕过密码登录)
11、执行这个命令:mysqld_safe –user=mysql –skip-grant-tables –skip-networking & mysql -u root mysql (也就是,老子不用密码直接登录,这时mysql服务必须关闭状态)
12、然后执行这个命令:UPDATE user SET Password=PASSWORD(‘XXXXX’) where USER=’root’; 这里就是对root账号初始化密码,xxx自行改,不要忘了。忘掉的话就要用第11步初始化(谁说没有密码就不能进mysql?)
13、然后执行 flush privileges; (注意不要忘记最后的分号,必须有,不要问为什么)
14、然后输入quit; 退出mysql客户端。
15、重新启动mysql,命令:service mysql start
16、然后用root账号登录 命令:mysql -u root -p (接下来会提示你输入密码,此时屏幕不可见,不要以为死机了)
17、这时随便执行一个sql,譬如 show databases;
18、这时会报错,大约是You must SET PASSWORD before executing this statement .其实就是我们常见的:第一次登录需要改密码,
19、那我们就改一改吧,反正不会怀孕
20、执行 SET PASSWORD = PASSWORD(‘xxxx’); 注意分号,也可以把密码跟上面搞得一样。
21、然后再去执行 一些sql,看看对不对。对的话quit;
22、最后,我们最好吧mysql重启一下. service mysql restart
23、然后配置远程可以连接(注意刚才我们都是在本机操作的哦~~~~)
24、依然mysql -u root -p 输入密码后登入
25、执行:GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘这里填你的密码’ WITH GRANT OPTION; (这里root@后面的百分号代表全宇宙都可以连接你的mysql,只要知道密码) ,如果是仅仅允许某个IP连接,那么把这个百分号换成某个ip即可
26 、FLUSH PRIVILEGES; 并且退出
27、保险起见,再重启mysql服务
好吧,OK了。接下来大家可以用navicate 去连接啦
‘伍’ 如何在centos7上安装mysql
【安装MySQL】
由于MySQL被Oracle收购了,所以CentOS 7的yum源中不再有正常安装mysql时的mysql-sever文件,需要去官网上下载
# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
# rpm -ivh mysql-community-release-el7-5.noarch.rpm
# yum install mysql-community-server
上面的具体版本大家可以到MySQL网站的下载页面,找到Yum Repository页面,查找最新的版本名称,替换上面的版本名称即可。
成功安装之后重启mysql服务
# service mysqld restart
【安装MySQL Workbench,失败】
执行yum install mysql-workbench-community
系统进行各种检查后,提示没有安装包。
在MySQL网站找了半天,找不到安装包下载。最后还是在网上搜到了安装包的获取方法:
http://cdn.mysql.com/Downloads/MySQLGUITools/mysql-workbench-community-6.3.4-1.el7.x86_64.rpm
同样,具体的版本号用的是根据执行yum install mysql-workbench-community的提示版本号。
然后开始等待下载。
完成后,再执行上面的安装命令,开始安装。发现,仍然不对。
仔细研究报错,提示缺少proj和tinyxml。
再查下来,发现tinyxml不在官方yum上,需要配置EPEL源。
【配置EPEL(企业版Linux软件附加包)】
执行yum install epel-release.noarch
安装EPEL后执行yum repolist,如果显示的信息里面有epel,则安装成功。
然后尝试执行 yum install tinyxml,能够安装。
【安装MySQL Workbench】
重新执行yum install mysql-workbench-community
系统提示依赖的软件列表,并询问是否下载安装。感觉有门儿了。
确认后,系统下载依赖的包,然后安装。
安装完成后,在“应用程序”菜单的“编程”下,会出现MySQL Workbench的图标。
大功告成!
‘陆’ centos7怎样安装mysql服务器
本人博客供参考
网页链接
下载mysql源安装包shell> wgethttp://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
安装mysql源shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm
检查mysql源是否安装成功
yum repolist enabled | grep “mysql.-community.”
shell> mysql -uroot -p
mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘MyNewPass4!’;
或者:
mysql> set password for ‘root’@’localhost’=password(‘MyNewPass4!’);
注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误
添加远程登录用户
默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:
mysql> GRANT ALL PRIVILEGES ON.TO ‘yangxin’@’%’ IDENTIFIED BY ‘Yangxin0917!’ WITH GRANT OPTION;
以上部分个人实践过,以下内容待实践
数据库存emoji 表情问题
mysql> SHOW VARIABLES WHERE Variable_name LIKE ‘character_set_%’ OR Variable_name LIKE ‘collation%’;
+————————–+——————-+
| Variable_name | Value |
+————————–+——————-+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+————————–+——————-+
10 rows in set (0.02 sec)
可以看到我的mysql版本是5.7的,utf8mb4有一个使用限制,mysql版本必须是5.5以上,大家需要注意,我目前用的ubuntu系统是16.04的。当前mysql的字符集配置如上表,我们的目的是更改成utf8mb4。
3.找到mysql的配置文件,可用命令
sudo find / -name my.cnf
我的配置文件位置如下,个别的位置有所不同
/etc/mysql/mysql.conf.d/mysqld.cnf
4.修改配置文件
在原文中添加以下内容:
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect=’SET NAMES utf8mb4’
原文件中无“[client]”和“[mysql]”,需要手动添加上。
……
Here is entries for some specific programs
The following values assume you have at least 32M ram
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
#
* Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect=’SET NAMES utf8mb4’
#
Instead of skip-networking the default is now to listen only on
……
5.重启mysql服务
sudo service mysql restart
6.查看结果
mysql> SHOW VARIABLES WHERE Variable_name LIKE ‘character_set_%’ OR Variable_name LIKE ‘collation%’;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect…
Connection id: 3
Current database:* NONE *
+————————–+——————–+
| Variable_name | Value |
+————————–+——————–+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| collation_connection | utf8mb4_unicode_ci |
| collation_database | utf8mb4_unicode_ci |
| collation_server | utf8mb4_unicode_ci |
+————————–+——————–+
10 rows in set (0.00 sec)
‘柒’ centos7怎么编译安装mysql5.7
更好的性能
对于多核CPU、固态硬盘、锁有着更好的优化,每秒100W QPS已不再是MySQL的追求,下个版本能否上200W QPS才是用户更关心的。
更好的InnoDB存储引擎
更为健壮的复制功能
复制带来了数据完全不丢失的方案,传统金融客户也可以选择使用。MySQL数据库。此外,GTID在线平滑升级也变得可能。
更好的优化器
优化器代码重构的意义将在这个版本及以后的版本中带来巨大的改进,Oracle官方正在解决MySQL之前最大的难题。
原生JSON类型的支持
更好的地理信息服务支持
InnoDB原生支持地理位置类型,支持GeoJSON,GeoHash特性
新增sys库
‘捌’ centos7安装编译mysql的驱动的问题
检查yum是否有 mysql-server的 repo
命令:
rpm -qa|grep mysql
没有安装就按照本步骤进行下载和安装,有则跳过
下载repo,命令:
wget 地址请参考图片
安装repo,命令:
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装后,在/etc/yum.repos.d/ 会有两个 repo 文件 mysql-community.repo,mysql-community-source.repo
安装 mysql
命令:
sudo yum install mysql-server
等待命令完成即可
重新启动 mysql 服务
命令:
sudo systemctl restart mysqld.service
测试登陆
命令:
mysql -u root
‘玖’ centos7安装mysql8找不到安装包
直接去MySQL官网下载离线安装包不就行了,或者直接下载编译好的二进制包,解压后设置环境变量就可以用了,再或者下载源码自己编译。