1.检查是否已经安装过mysql
rpm -qa | grep mysql
已存在,则执行删除命令
rpm -e --nodeps mysql-xxxx
2.查询所有有关mysql的文件夹
删除相关目录或文件
rm -rf /usr/bin/mysql /usr/include/mysql
3.添加mysql用户组和mysql用户
groupadd mysql
useradd -r -g mysql mysql
4.在/usr/local/解压jar包,并重命名为mysql
tar -zxvf xxx.jar
5./usr/local/mysql目录下创建data目录,用于存放数据
mkdir /usr/java/mysql/data
6.更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限
chown -R mysql:mysql /usr/java/mysql
chmod -R 755 /usr/java/mysql
7.编辑配置文件my.cnf(如果不存在就在mysql目录下新建/etc/my.cnf)
[mysqld]
#设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/java/mysql/
# 设置mysql数据库的数据的存放目录
datadir=/usr/java/mysql/data/
socket=/usr/java/mysql/mysql.sock
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
default-character-set=utf8
8.初始化mysql(会生成临时密码)
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/java/mysql/data --basedir=/usr/java/mysql
9.启动mysql服务器
/usr/local/mysql/support-files/mysql.server start
10.添加软连接,并重启mysql服务
ln -s /usr/java/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/java/mysql/bin/mysql /usr/bin/mysql
service mysql restart
11.登录mysql(密码为初始化时生成的临时密码)
mysql -u root -p
PS:如果登录时报错:Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
原因:my.cnf文件里配置了mysql.sock在初始化时没有生成
注:mysql.sock用于本地连接数据库,作用在于建立本地tcp连接
解决:对于my.cnf指定mysql.sock位置重新赋权,然后重启服务器重新生成
chmod 777 /usr/java/mysql/
service mysql restart
12.创建软连接
ln -s /usr/java/mysql/mysql.sock /tmp/mysql.sock
后续:修改完后,把该目录权限降低,否侧会有警告
[Warning] World-writable config file '/usr/local/mysql/etc/my.cnf' is ignore
原因:服务器认为你把该目录权限太高了
13.修改密码
alter user 'root'@'localhost' identified by '123456'
14.开放远程连接
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;
15.服务命令
service mysql start
service mysql stop
service mysql restart