[root@localhost ~]# rpm -qa|grep mariadb // 查询出来已安装的mariadb
[root@localhost ~]# rpm -e --nodeps 文件名 // 卸载mariadb,文件名为上述命令查询出来的文件
查多少位系统 getconf LONG_BIT
1、下载对应的MySQL安装包
2、解压到 /usr/local 并且修改名字为mysql 否则还需要修改配置文件
[root@TS-VServer073-lwd01 /]# tar zxvf /usr/local/soft/mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz -C /usr/local
3、添加用户组和用户groupadd mysql和useradd -r -g mysql mysql
[root@TS-VServer073-lwd01 local]# groupadd mysql
[root@TS-VServer073-lwd01 local]# useradd -r -g mysql mysql
4、
复制 cp support-files/my-default.cnf /etc/my.cnf (mysql 启动时自动读取)
5.编辑 my.cnf 解决乱码问题 vi /etc/my.cnf 加上下面内容
[mysql]
default-character-set=utf8 表示解决客户端乱码问题)
[mysqld]
default-storage-engine=INNODB
character_set_server=utf8(表示解决服务端乱码问题)
复制mysql.server 到/etc/init.d/ 目录下 【把启动脚本放在初始化目录,可以直接service mysql start 这样启动mysql】
输入命令 cp mysql.server /etc/init.d/mysql (mysql是服务名)
注意: /etc/init.d/ 目录,等效于注册表HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services记录有那些服务
6、修改/etc/init.d/mysql 参数
输入命令 vi /etc/init.d/mysql
给与两个目录位置
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
7、给目录/usr/local/mysql 更改拥有者
输入命令 chown -R mysql:mysql /usr/local/mysql/
8、初始化数据库
进入mysql下的scripts cd scripts,如果你看到mysql_install_db
就输命令
./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
生成出一个data目录,代表数据库已经初始化成功。(老版本)
新版本: 初始化
输入命令 ./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
如果碰到报错碰到 please install the following Perl modules before executing ./mysql_install_db
解决方法:安装autoconf库 命令:yum -y install autoconf 再执行初始化
9、启动myql
service mysql start
查看 ps -ef|grep mysql 是否启动成功
10、把mysql放到默认路径
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
11、启动客户端:mysql -uroot -p
第一次进入客户端不需要密码,后面可以自己再设置密码
mysqladmin -uroot password 'yourpassword'
12、更改环境变量
输入命令 vi /etc/profile
export MYSQL_HOME=/usr/local/mysql/
export PATH=$PATH:$MYSQL_HOME/bin
配置好mysql环境变量后,我们往后登录mysql就不用再去到/usr/local/mysql/bin目录才能登录了,现在可以在任意目录下登录mysql了
13、设置mysql开机自启
添加mysql服务
输入命令 chkconfig --add mysql 【mysqld -install】
设置mysql服务为自动
输入命令 chkconfig mysql on
14、设置数据库可以外网连接
远程连接我们自然要用’%’来匹配比较好,或者你可以指定某个IP
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
上句话的意思就是使用root在任意一台计算机上面以密码“123456”来连接,你如果在远程计算机上面使用密码“123”是无法连接的,包括你在本地使用mysql -uroot -p 密码为123456也无法连接。
当然执行上面一句SQL我们还需要刷新下缓存区,使之生效
mysql>FLUSH PRIVILEGES;
15、开放3306端口号
create user 'hqimis'@'localhost' identified by 'hqimis';
create user 'hqimis'@'%' identified by 'hqimis';//@"%" 表示对所有非本地主机授权,不包括localhost。
root: create database testDB;
grant all privileges on testDB.* to hqimis@localhost identified by 'hqimis';
grant all privileges on testDB.* to hqimis@"%" identified by 'hqimis';//@"%" 表示对所有非本地主机授权,不包括localhost。
flush privileges;