本文仅介绍安装过程及简单的配置以及一些在安装过程中可能产生的问题。
sudo su -
tar xf mysql*.tar.gz
mysqlDir=/usr/local/mysql
mv mysql* $mysqlDir
cd $mysqlDir
#新建组和用户并给目录授权
groupadd mysql
useradd -g mysql mysql
chown -R root .
chown -R mysql data
chgrp -R mysql data
#初始化数据库
./scripts/mysql_install_db --user=mysql --basedir=$mysqlDir --datadir=$mysqlDir/data
#启动mysql
./bin/mysqld_safe --user=mysql --basedir=$mysqlDir --datadir=$mysqlDir/data &
#将mysql加入系统服务并重启
cp support-files/mysql.server /etc/init.d/
cp support-files/my-small.cnf /etc/my.cnf
/etc/init.d/mysql.server restart
#设置密码
./bin/mysqladmin -u root password 123
#关闭服务
./bin/mysqladmin -uroot -p123 shutdown
注意:
- 数据库文件目录data所属用户和组必须为mysql才能进行下一步,否则无法启动服务.
在ubuntu10.10中,由于无法操作ntfs格式分区的文件属性,只能将data文件夹放到ext分区下,或者在配置文件my.cnf的[mysqld]节点下添加"datadir = 你的数据目录"一行.
配置文件必须在ext分区下,且其读写权限必须在644以上以保证mysql在启动时不会忽略配置文件直接加载默认配置,否则将出现如下警告:
Warning: World-writable config file '/usr/local/mysql/my.cnf' is ignored
也可以在服务器启动参数中添加数据库位置信息,后面将会介绍。
- 在执行上面的最后一步时若出现错误可参考以下链接:
FATAL ERROR: Could not find mysqld或FATAL ERROR: Could not find ./bin/my_print_defaults
参考:Ubuntu下安装MySQL出现FATAL ERROR: Could not find mysqld的处理
- ubuntu下,新版中不能将“/etc/init.d/mysql.server”重命名,否则启动失败,添加服务过程如下:
sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/
sudo systemctl enable mysql.server
#启动服务
systemctl start mysql
#查看服务运行状态
systemctl status mysql
如果启动时出错:
Failed to start mysql.service: Unit mysql.service is masked
原因可能是之前使用apt-get 安装过mysql,服务被标记过,解除后即可启动:
systemctl unmask mysql.service