============安装glibc版本==============
一.下载glibc版本的Mysql
mysql-advanced-5.6.23-linux-glibc2.5-x86_64.zip
解压后,得到 mysql-advanced-5.6.23-linux-glibc2.5-x86_64.tar.gz
二.创建Mysql用户
adduser mysql
passwd mysql
二.安装Mysql
注意,glibc版本的Mysql,不是编译版的,是直接编译好的,相当于windows的绿色版
CentOS默认yum源已经没有mysql-server了.而用mariadb代替,而2个数据库冲突,所以要安装mysql,要先卸载mariadb
把mysql-advanced-5.6.23-linux-glibc2.5-x86_64.tar.gz上传到服务器
tar zxvf mysql-advanced-5.6.23-linux-glibc2.5-x86_64.tar.gz mv mysql-advanced-5.6.23-linux-glibc2.5-x86_64 mysql5.6.23 cd mysql5.6.23 #初始化mysql数据库 scripts/mysql_install_db --user=mysql
#也可以这么初始化
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --ldata=/var/lib/mysql
三.开启mysql
bin/mysqld_safe --user=mysql
四.执行安全设置
#bin/mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MySQL to secure it, we'll need the current password for the root user. If you've just installed MySQL, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none):<---输入现在的root密码,因为我们还没设置,直接回车 OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MySQL root user without the proper authorisation. Set root password? [Y/n] Y <---是否设定root密码,当然设置了,输入Y回车 New password: <---输入root密码,并回车,输入的过程中不会有任何显示 Re-enter new password: <---再次输入root密码,并回车,输入的过程中不会有任何显示 Password updated successfully! Reloading privilege tables.. ... Success! By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] Y <---是否删除匿名用户,删除,输入Y回车 ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] Y <---是否删禁止root用户远程登录,当然禁止,输入Y回车 ... Success! By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] <---是否删除测试数据库test,删除,输入Y回车 - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] Y <---刷新权限,输入Y回车 ... Success! Cleaning up... All done! If you've completed all of the above steps, your MySQL installation should now be secure. Thanks for using MySQL!
五.常用命令
#关闭mysql mysqladmin shutdown #或 mysqladmin -uroot -p shutdown
============安装rpm版本(补充)==============
如果是centos7以上版本,还是先卸载mariadb
首先创建mysql用户
adduser mysql
下载mysql的安装包
#root用户先下载 curl -O http://cdn.mysql.com//Downloads/MySQL-5.6/MySQL-server-5.6.29-1.el7.x86_64.rpm curl -O http://cdn.mysql.com//Downloads/MySQL-5.6/MySQL-client-5.6.29-1.el7.x86_64.rpm
#安装mysql server和client rpm -ivh MySQL-server-5.6.29-1.el7.x86_64.rpm rpm -ivh MySQL-client-5.6.29-1.el7.x86_64.rpm
然后使用
service mysql start|stop|restart
启动即可
如果碰到不能启动的情况,可使用以下方案
1.关闭seLinux
(网上找教程)
2.权限不足,用chown给mysql赋权
chown -R mysql.mysql /var/lib/mysql
3.重新初始化mysql
mysql_install_db --user=mysql
#恢复数据库参考 mysql_install_db --user=mysql -datadir=/u01/mysql/data /usr/bin/mysqladmin -u root password '123456' /usr/bin/mysql_secure_installation CREATE USER 'scrm'@'%' IDENTIFIED BY 'scrmpwd'; grant all privileges on scrm.* to 'scrm'@'%'; flush privileges;
============yum安装5.7版本==============
#安装MySQL5.7的yum源 yum -y install http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm #安装MySQL5.7 yum -y install mysql-community-server #删除yum源 , 以免一直update yum -y remove mysql57-community-release-el7-10.noarch
#启动 systemctl start mysqld.service #查看状态 systemctl status mysqld.service
#查看初始密码 grep "password" /var/log/mysqld.log
1、create schema [数据库名称] default character set utf8 collate utf8_general_ci;--创建数据库 采用create schema和create database创建数据库的效果一样。 2、create user '[用户名称]'@'%' identified by '[用户密码]';--创建用户 密码8位以上,包括:大写字母、小写字母、数字、特殊字符 %:匹配所有主机,该地方还可以设置成‘localhost’,代表只能本地访问,例如root账户默认为‘localhost‘ 3、grant select,insert,update,delete,create on [数据库名称].* to [用户名称];--用户授权数据库 *代表整个数据库 4、flush privileges ;--立即启用修改 5、revoke all on *.* from tester;--取消用户所有数据库(表)的所有权限 6、delete from mysql.user where user='tester';--删除用户 7、drop database [schema名称|数据库名称];--删除数据库 create user 'erp_test'@'%' identified by 'erp_test@abc'; -- 创建用户 grant select,insert,update,delete,create on *.* to erp_test; --用户授权数据库 flush privileges;--立即启用修改