多数情况下数据库和 web 服务器是分离的,如何安装 MySQL?
1.到 Make install 结束即可
2.二进制:解压即可
#准备二进制软件: mysql-5.5.32-linux2.6-x86_64.tar.gz
#安装开始
#创建 mysql 用户
[root@Apache tools]# useradd mysql -s /sbin/nologin –M
#解压 MySQL 安装包
[root@Apache tools]# tar zxvf mysql-5.5.32-linux2.6-x86_64.tar.gz
#创建/application 目录
[root@localhost tools]# mkdir /application
#移动到/application 目录下
[root@Apache tools]# mv mysql-5.5.32-linux2.6-x86_64 /application/mysql 96
※若 web 服务器和数据库分离,操作到此即可 [root@Apache tools]# cd /application/mysql/
[root@Apache mysql]# chown -R mysql.mysql /application/mysql/data/ [root@Apache mysql]# ll /application/mysql/data/
总用量 4
drwxr-xr-x. 2 mysql mysql 4096 12 月 13 16:20 test
#mysql5.5 版本后初始化命令为./scripts/mysql_install_db
[root@Apache mysql]# ./scripts/mysql_install_db --user=mysql
--basedir=/application/mysql/ --datadir=/application/mysql/data/
#安装成功信息
Installing MySQL system tables... OK
Filling help tables... OK
#安装出错信息
/application/mysql//bin/mysqld: error while loading shared libraries: libaio.so.1:
cannot open share
#解决方法:
yum install libaio –y
#拷贝文件到 init.d
[root@Apache mysql]# cp support-files/mysql.server /etc/init.d/mysqld
#启动 MySQL 出错
[root@Apache mysql]# /etc/init.d/mysqld start
/etc/init.d/mysqld: line 276: cd: /usr/local/mysql: 没有那个文件或目录 Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/mysql/bin/mysqld_safe)
(/var/lib/mysql/Apache.pid).
#解决方法:vim /etc/my.cnf,添加以下这行!
datadir=/application/mysql/data
#解决方法
[root@Apache mysql]# ./scripts/mysql_install_db --user=mysql
--basedir=/application/mysql/ --datadir=/application/mysql/data/
[root@Apache mysql]# vim /etc/init.d/mysqld
basedir=/application/mysql
datadir=/application/mysql/data
#拷贝这个文件,才可启动 mysql
[root@Apache mysql]# cp support-files/my-small.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
#在/etc/profile 中加入启动的详细路径
[root@Nagios-Server support-files]# vi /etc/profile
PATH="/application/mysql/bin/:$PATH"
#生效
[root@Nagios-Server support-files]# . /etc/profile
或者
[root@Nagios-Server support-files]# source /etc/profile
#故障排除后,设置 MySQL 密码,参考初始化 MySQL 后的信息提示
[root@Apache mysql]# /application/mysql/bin/mysqladmin -u root password
'oldboy123'
#登录 MySQL,注意-u 和-p 不需空格
[root@Apache mysql]# mysql -uroot -poldboy123
#删除数据库 test
mysql> drop databases test;
mysql> select user,host from mysql.user ;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | localhost |
+------+-----------+
2 rows in set (0.00 sec)
#删除数据表
mysql> drop user ''@'localhost';
mysql> drop user 'root'@'Apache';
#删除表用户出现无法删除的解决方法
mysql> delete from mysql.user where user='root' and host='Apache';
mysql> delete from mysql.user where host='Apache';