Linux下安装mysql(1)(CentOS)
标题是(1)也就是说这次是基础安装,这种方式安装,没有组的创建,权限管理,配置文件更改等,仅仅是最基本的安装,适合第一次在linux上安装mysql的新手
1.准备好安装包(Linux-Generic表示对各种linux发行版本通用的mysql安装包)
2.解压缩(既然第一次安装,目录随便选)
tar -zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz -C /usr/local
3.进入目录,改名便于操作
cd /usr/local
mv mysql-8.0.11-linux-glibc2.12-x86_64 mysql
cd mysql/bin
4.此时已经进入到bin目录下了
执行./mysqld --initialize --user=mysql (以mysql用户初始化数据库)
首先这个命令可能会报错
显然mysql这个用户不存在,至于为什么使用mysql这个用户初始化,下面讲.执行useradd mysql创建mysql用户即可(默认生成了mysql组)
创建完成后重新执行./mysqld --initialize --user=mysql ,红色的那行是你的root用户的临时密码
到这里初始化数据库完成,这里可以在执行一下./mysql_ssl_rsa_setup 让你的mysql使用ssl加密连接,(rsa应该是非对称加密算法,记得上学期电商系统安全管理讲到过的)
5.启动mysql
执行 ./mysqld_safe --user=mysql &(以后台方式启动)
会报这个错误,如果你没注意到,待会直接netstat -anp|grep 3306啥也没有
可以看到似乎是mysqld.pid这个文件出了问题
cat下,发现没有,但是find找到了
把路径复制下,同时执行vim /etc/my.cnf 打开配置文件(注意备份)
把pid-file的路径更改为你复制的路径
看到那个user=mysql没?这也是为什么增加mysql这个用户并且用--user=mysql初始化和启动的原因了
更改好,保存退出,然后重新执行
./mysqld_safe --user=mysql & 启动数据库完成
6.连接
到目前位置mysql启动完成了,接下来就是连接了
我做到这里时,ok没问题了然而执行连接数据库的命令后,又报了个错误,大概意思是没办法通过socket建立连接
老办法,find下,似乎是和mysqld.pid同样的问题,路径不对,挂个软连接上去即可
重新登录成功进入,但是还没完,想看数据库,不存在的,必须修改密码,接下来就是很坑的一段记录了,
请不要使用更改user表从而更改密码或者set password...这种更改方法,我全试过了都没用
请执行
ALTER USER "root"@"localhost" IDENTIFIED BY "123";修改密码退出使用新密码重新登录,可以看到开启了ssl加密,也可以查看数据库了
7.总结
①增加mysql用户
②初始化./mysqld --initialize --user=mysql (注意保存此时的临时密码)
③启动前先要修改/etc/my.cnf中(注意备份)的pid-file的路径
④连接数据库之前给mysql.sock挂上软连接,不然找不到
⑤更改密码..
注意上面初始化,启动,连接数据库都是在mysql的bin目录下执行的
最后,想说的是,这种安装只能说是装上去了,并且成功运行了,但是如果你注意观察应该能发现问题,比如权限,全程都是root,mysql目录下的所有文件都是root组
我们需要一个mysql组,来对其进行管理此外还有/etc/my.cnf中其他一些配置选项的更改,全局mysql,还有我遇到的其他一些异常,so只能再写一篇(2)了