我的云服务器配置:
CPU: 1核 内存:1 GB
准备工作:
1、首先使用 rpm -qa|grep mysql 查看系统是否有自带的mysql
2、如果有的话使用 yum remove mysql-server mysql-libs compat-mysql51 卸载掉
3、rm -rf /var/lib/mysql rm /etc/my.cnf
4、查看是否还有mysql软件:
rpm -qa|grep mysql
5、最好再使用 find / -name mysql 查看是否还有残留的文件
如果存在的话,继续删除即可。
正式安装:
1、进入安装包所在目录,执行命令:tar -xvf mysql-5.6.17-linux-glibc2.5-i686.tar.gz(此处填你自己的文件名)
2、复制解压后的mysql目录到系统的本地软件目录:
执行命令:cp mysql-5.6.17-linux-glibc2.5-i686 /usr/local/mysql -r (mysql默认是是安装到/usr/local下面,否则会报错,如果是安装到其他位置,请看最下面的解决方法)
注意:目录结尾不要加/
3、添加系统mysql组和mysql用户:
执行命令:groupadd mysql和useradd -r -g mysql mysql
4、安装数据库:
进入安装mysql软件目录:执行命令 cd /usr/local/mysql
修改当前目录拥有者为mysql用户:执行命令 chown -R mysql:mysql ./
安装数据库:执行命令 ./scripts/mysql_install_db --user=mysql (注意前面有个“.”)
修改当前目录拥有者为root用户:执行命令 chown -R root:root ./
修改当前data目录拥有者为mysql用户:执行命令 chown -R mysql:mysql data
到此数据库安装完毕
5、启动mysql服务和添加开机启动mysql服务:
添加开机启动:执行命令cp support-files/mysql.server /etc/init.d/mysql,把启动脚本放到开机初始化目录
chmod +x /etc/init.d/mysql 赋予可执行权限
chkconfig --add mysql 添加服务
chkconfig --list 显示服务列表
如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入
chkconfig --level 345 mysql on
-bash: mysql: command not found
bash: mysql: command not found
启动mysql服务:执行命令service mysql start
6、修改mysql的root用户密码,root初始密码为空的:
执行命令:./bin/mysqladmin -u root password '密码' (注意前面有个“.”)
遇到的问题:
mysql -u root
-bash: mysql: command not found
原因:这个是因为/usr/local/bin目录下缺失mysql导致,由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个软链接即可以解决:
首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:
# ln -s /usr/local/mysql/bin/mysql /usr/bin
结果验证:
[root@iz2ze2q8e0xhao9pcnm0qxz mysql]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.6.38 MySQL Community Server (GPL)
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>