Ubuntu服务器的MySQL数据库安装
标签: ubuntu安装MySQL
1、 环境准备
Ubuntu Server 14.10
MySQL-5.6.23.tar.gz
2、 安装必备的工具
使用以下命令安装cmake
sudo apt-get install make bison g++ build-essential libncurses5-dev cmake
- 下载安装
在cmake官网下载cmake-3.13.0-rc3.tar.gz。
注意:截止整理时最新版本是3.13.0-rc3,历史版本https://cmake.org/files/
使用xftp工具将cmake-3.13.0-rc3.tar.gz包上传到/opt目录。
tar -vzxf cmake-3.13.0-rc3.tar.gz
cd cmake-3.13.0-rc3
./bootstrap
make
sudo make install
注意:安装是需要安装到你的bin目录下。所以是需要root权限的。
3、 安装数据库
3.1 添加组合用户 设置安装目录权限
groupadd mysql #创建mysql组
useradd –g mysql mysql –s /bin/false #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统
mkdir –p /data/mysql #创建Mysql安装目录
mkdir -p /data/mysql/data #创建data目录
mkdir -p /data/mysql/log #创建log目录
chown -R mysql:mysql /data/mysql/data #将data目录赋给mysql组的mysql用户
chown -R mysql:mysql /data/mysql
chmod -R 755 /data/mysql/data #修改data目录的权限
4、 编译安装mysql
4.1 获取源码包
- 网络下载
cd /usr/local/src sudo wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.23.tar.gz
- 本地资源
下载源码http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.23.tar.gz
将源码上传到/opt目录
cd /opt
4.2 解压mysql源码包
sudo tar –zxvf mysql-5.6.23.tar.gz
5、 编译配置
cd mysql-5.6.23
sudo cmake -DCMAKE_INSTALL_PREFIX=/data/mysql -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql/data -DMYSQL_USER=mysql -DWITH_DEBUG=0
注意事项:重新编译时,需要清除旧的对象文件和缓存信息。
make clean
rm -f CMakeCache.txt
rm -rf /etc/my.cnf
注册
sudo make -j4 #-j数字 表示以多核心运行
sudo make install
6、 相关配置
6.1 配置开机启动
sudo chmod +w /data/mysql
sudo cp ./support-files/my-default.cnf /etc/my.cnf
sudo cp ./support-files/mysql.server /etc/init.d/mysqld
sudo chmod 755 /etc/init.d/mysqld
6.2 常用命令软连接,设置环境变量
sudo ln -s /data/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18 #添加/data/mysql/lib到PATH
sudo ln -s /data/mysql/bin/mysql /usr/bin #添加/data/mysql/bin到PATH
sudo ln -s /data/mysql/bin/mysqladmin /usr/bin #添加/data/mysql/bin/mysqladmin到PATH
6.3 初始化数据库
sudo /data/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/data/mysql --datadir=/data/mysql/data --user=mysql
7、 启动mysql服务试一试
sudo /etc/init.d/mysqld start
8、 启动成功后创建root用户的密码
mysqladmin -u root password
9、 查看数据库
mysql -h localhost -u root -p
mysql>show databases;
注释:
把安装路径放在/data/mysql,data放在/data/mysql/data/下,sock文件放到/data/mysql/mysqld.sock
一些参数如下:根据需要选择吧。
CMAKE_INSTALL_PREFIX:
#指定MySQL程序的安装目录,默认/usr/local/mysql
DEFAULT_CHARSET:
#指定服务器默认字符集,默认latin1
DEFAULT_COLLATION:
#指定服务器默认的校对规则,默认latin1_general_ci
ENABLED_LOCAL_INFILE:
#指定是否允许本地执行LOAD DATA INFILE,默认OFF
WITH_COMMENT:
#指定编译备注信息
WITH_xxx_STORAGE_ENGINE:
#指定静态编译到mysql的存储引擎,MyISAM,MERGE,MEMBER以及CSV四种引擎默认即被编译至服务器,不需要特别指定。
WITHOUT_xxx_STORAGE_ENGINE:
#指定不编译的存储引擎
SYSCONFDIR:
#初始化参数文件目录
MYSQL_DATADIR:
#数据文件目录
MYSQL_TCP_PORT:
#服务端口号,默认3306
MYSQL_UNIX_ADDR:
#socket文件路径,默认/tmp/mysql.sock
10、 常见问题
- 通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法
- 改表法
$ mysql -u root -p #以权限用户root登录
mysql>use mysql; #选择mysql库
mysql>select 'host' from user where user='root'; #查看mysql库中的user表的host值
mysql>update user set host = '%' where user ='root'; #修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
mysql>flush privileges; # 刷新MySQL的系统权限相关表
mysql>select 'host' from user where user='root'; #再重新查看user表`
重起mysql服务即可完成。
- 授权法
(推荐)
mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; #允许myuser使用mypassword从任何主机连接到mysql服务器
mysql>flush privileges; #刷新权限