#创建一个mysql用户
useradd mysql
passwd mysql
#将mysql压缩包拖入虚拟机后解压
tar -zxvf mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
#安装perl gcc模块编译器
yum -y install perl gcc kernel-devel
#复制mysql解压文件并更名为“mysql”
mv mysql-5.6.39-linux-glibc2.12-x86_64 mysql
#改变目录的拥有者为mysql,详情见 https://blog.csdn.net/program_god1/article/details/80424188
chown -R mysql:mysql .
.
#复制mysql到local目录下
mv mysql /usr/local/
#Autoconf是一个用于包,以适应多种Unix类系统的 shell脚本的工具。由Autoconf生成的配置脚本在运行的时候与Autoconf是无关的,就是说配置脚本的用户并不需要拥有Autoconf。
yum -y install autoconf
#
cd /usr/local/mysql/
cd scripts/
./mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
#
cd ..(上一层)
ll
cp my.cnf /etc/
cd support-files/
cp mysql.server /etc/init.d/mysql
然后启动
service mysql start
#成功后然后输入 chkconfig --add mysql
#修改 vi /etc/profile,把 export PATH=/usr/local/mysql/bin:$PATH 放到最后一行
#重启
reboot
#设置临时密码
cd /usr/local/mysql
./bin/mysqladmin -u root password '123456'
测试
mysql -u root -p
输入123456
进入mysql
quit退出
# yum -y install libaio-devel.x86_64
2、解决乱码问题
输入命令:vi /etc/my.cnf (进入可编辑状态)
更改:
#
default-storage-engine=INNODB
character-set-server=utf8collation-server=utf8_general_ci
#
[mysql]
default-character-set=utf8(表示解决客户端乱码问题)
[mysqld]
default-storage-engine=INNODB
character_set_server=utf8(表示解决服务端乱码问题)
3、复制mysql.server 到/etc/init.d/ 目录下 【目的想实现mysqld -install这样开机自动执行效果】
输入命令 cp mysql.server /etc/init.d/mysql (mysql是服务名)
注意: /etc/init.d/ 目录,等效于注册表HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services记录有那些服务
4、修改/etc/init.d/mysql 参数
输入命令 vi /etc/init.d/mysql
给与两个目录位置
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
5、给目录/usr/local/mysql 更改拥有者
输入命令 chown -R mysql:mysql /usr/local/mysql/
六、初始化mysql的数据库
1、初始化mysql
mysql_install_db (老版本的做法)
新版本: 初始化
输入命令 ./mysqld --initialize --user=mysql--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
生成出一个data目录,代表数据库已经初始化成功
并且mysql的root用户生成一个临时密码:(记录下临时密码XXX)
2、给数据库加密
输入命令 ./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
3、启动mysql
输入命令 ./mysqld_safe --user=mysql & (&符表示提交到后台运行mysql服务)
七、进入客户端
1、登录
输入命令 ./mysql -uroot -p
然后再输入你的临时密码
2、修改密码
输入命令 set password=password(‘xxxx')
八、window远程访问Linux虚拟机的mysql
先来看看数据库结构
1、关闭防火墙 (或者给防火墙开放端口),这样window才能连接上
输入命令 systemctl stop firewalld.service
2、给Windows授权
输入命令 mysql>grant all privileges on *.* toroot@'%' identified by '123456';
1
2
|
mysql>use mysql;
mysql>
select
host,user from user;
|
【多出一条远程登录用户记录】
1
|
mysql>flush privileges;
|
3、远程链接数据库,或者重启(init 6)。
输入命令:mysql –hIP地址 -uroot -p123456
九、设置开机自动启动mysql服务
1、添加mysql服务
输入命令 chkconfig --add mysql 【mysqld -install】
2、设置mysql服务为自动
输入命令 chkconfig mysql on
3、重启检查
1
2
3
|
init 6
ps
–ef |
grep
mysql
|
十、设置path
输入命令 vi /etc/profile
输入命令 exportPATH=$JAVA_HOME/bin:/usr/local/mysql/bin:$PATH
配置好mysql环境变量后,我们往后登录mysql就不用再去到/usr/local/mysql/bin目录才能登录了,现在可以在任意目录下登录mysql了
关闭防火墙:
mysql>use mysql;
mysql> grant all privileges on *.* to root@'%' identified by "root";(identified by "root" 试试能不能省略)
同时修改root用户的密码为:root;
需要关闭防火墙或设置防火墙打开3306端口
systemctl stop firewalld.service
systemctl disable firewalld.service