1、确定目录
比如我的/home(然后我希望mysql放在/home目录下,取名为mysql文件夹)
所以我需要
cd /home
你可以cd到你想安装的目录下
2、下载安装包
https://dev.mysql.com/downloads/mysql/5.6.html#downloads
我下载的是5.6.42 Linux-Generic All mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz
可以选择下到本地之后SCP传过去 也可以直接linux命令下载
wget https://dev.mysql.com/downloads/mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz
3、解压到我们刚才创建的目录(我的是/home/mysql)
tar -zxvf mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz
注:tar是解压
-zxcf 四个字母的意思分别为: x : 从 tar 包中把文件提取出来
z : 表示 tar 包是被 gzip 压缩过的,所以解压时需要用 gunzip 解压
v : 显示详细信息
f xxx.tar.gz : 指定被处理的文件是 xxx.tar.gz
4、ls一下,会发现多出来一个文件夹,然后可以删除这个安装包,留着文件夹就行了
删除原压缩包:
rm -rf mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz
重命名压缩包:
mv mysql-5.6.42-linux-glibc2.12-x86_64/ mysql
5、检验一下系统是否已经安装了mysql
rpm -qa | grep mysql
如果安装了,你可以选择卸载(当然也可以不装了就用原来的就行了,不用往下看了哈哈)
rpm -e --nodeps mysql-xxxx
6、添加系统mysql组和mysql用户(就是操作数据库的用户)
groupadd mysql
useradd -r -g mysql mysql
注:这个组的名字随便取但是mysql一目了然 user的话 你想加啥就加啥
添加是否成功可以去/etc目录下的group、shadow、passwd三个文件下看有木有
7、cd到mysql目录,执行下面的命令,指定文件的拥有者改为指定的用户或组(就是我们上面添加的组mysql和用户mysql)
chown -R mysql:mysql ./
意思就是:./为当前目录,mysql组里的mysql用户是当前目录及其子目录的所有者了,即mysql可以使用chmod命令改变文件或目录的访问权限了。
8、初始化MySQL
./scripts/mysql_install_db --user=mysql --basedir=/home/mysql --datadir=/home/mysql/data
注:/home不要忘记改成你自己的安装目录哈
9.看一下/etc目录下是否有my.cnf文件,如果没有创建一个并把下面的内容添加进去(注意修改目录)
[mysqld]
character_set_server=utf8
datadir = /home/mysql/data
log-error = /home/mysql/data/error.log
pid-file =/home/mysql/data/mysql.pid
user = mysql
tmpdir = /tmp
[mysqld_safe]
log-error=/var/log/mysqld.log
#pid-file=/var/run/mysqld/mysqld.pid
pid-file=/var/lib/mysql/mysql.pid
10、把目录权限还给root,让mysql用户只能操作data目录
chown -R root:root ./
chown -R mysql:mysql data
11、ll一下,如图
修改/home/mysql/support-files/mysql.server
查找所有/usr/local 修改为/home
12、把mysql的启动脚本放到/etc/init.d开机初始化目录
cp support-files/mysql.server /etc/init.d/mysql
13、启动MySQL
service mysql start
14、ok了已经启动成功了!
15、其实此时数据库root用户的默认密码为空,所以可以重新设置一个
./bin/mysqladmin -u root password 'root123'
注:可能会提示Warning: Using a password on the command line interface can be insecure.没事儿的,只是提示警告一下,这样设置不安全,但是已经设置成功了的。
16、登录MySQL数据库
在mysql的bin目录下执行
./mysql -u root -p
17、上面的操作正确登入MySQL,之后给root用户赋权
grant all privileges on *.* to 'root'@'%' identified by 'root123';
flush privileges;
18、然而现在的mysql可以在当前目录进行登录,却不可以在任意目录进行登录,为了方便
修改/etc/profile 在文件最后加上 export PATH=/home/mysql/bin:$PATH
注意:修改目录
之后重新加载一下环境变量,(记得重启MySQL哦service mysql restart
)
source /etc/profile
19、之后就可以在任何地方使用mysql -u root -p
来进行客户端登录MySQL了
20、有问题欢迎找我讨论。