今天搭建服务器,我靠有点运维的意思哈, 言归正传 下面我来介绍下 linux 上 安装mysql 全过程
首先安装gcc 命令如下
yum install gcc-c++
在安装依赖包
yum install ncurses-devel -y
从mysql5.5起,mysql源码安装开始使用cmake了,设置源码编译配置脚本
1.安装cmake
1>下载cmake包 路径如下
2>解压.gz 包 命令如下 tar -xvf cmake-2.8.8tar.gz
3>进入cmake-2.8.8tar.gz下
4>./configure
5> make
6> make install
cmake就安装完毕
OK以上的准备工作已经就绪 下面 mysql安装正式开始
首先新增用户组
groupadd mysql
useradd -r -g mysql mysql
新建mysql安装目录
mkdir -p /data/apps/mysql
新建mysql数据库数据文件目录
mkdir -p /data/mysqldb
自行下载 mysql-5.6.16.tar.gz 路径如下
解压mysql-5.6.16.tar.gz
tar -zxv -f mysql-5.6.16.tar.gz
进入 mysql-5.6.16 目录下
cd mysql-5.6.16
设置编译参数
cmake -DCMAKE_INSTALL_PREFIX=/data/apps/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/mysqldb -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1
注意当前(设置编译参数命令要在导入包命令下执行<我放在package文件夹下>)
然后上面配置的/data/apps/mysql 下会在下面执行完 make install后 就install进去了
下面介绍下参数作用
-DCMAKE_INSTALL_PREFIX=dir_name 设置mysql安装目录
-DMYSQL_UNIX_ADDR=file_name 设置监听套接字路径,这必须是一个绝对路径名。默认为/tmp/mysql.sock
-DDEFAULT_CHARSET=charset_name 设置服务器的字符集。
缺省情况下,MySQL使用latin1的(CP1252西欧)字符集。cmake/character_sets.cmake文件包含允许的字符集名称列表。
-DDEFAULT_COLLATION=collation_name 设置服务器的排序规则。
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 存储引擎选项:
MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。
静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE= 1
可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema)
-DMYSQL_DATADIR=dir_name 设置mysql数据库文件目录
-DMYSQL_TCP_PORT=port_num 设置mysql服务器监听端口,默认为3306
-DENABLE_DOWNLOADS=bool 是否要下载可选的文件。例如,启用此选项(设置为1),cmake将下载谷歌所使用的测试套件运行单元测试。
然后开始执行
# make clean
# rm -f CMakeCache.txt
# rm -rf /etc/my.cnf
编译源码
make
安装
make install
增加权限
cd /data/apps/mysql
chown -R mysql:mysql .
cd /data/mysqldb
chown -R mysql:mysql .
初始化mysql数据库
cd /data/apps/mysql
scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb --basedir=/data/apps/mysql
复制mysql服务启动配置文件
cp /data/apps/mysql/support-files/my-default.cnf /etc/my.cnf
注:如果/etc/my.cnf文件存在,则覆盖。
复制mysql服务启动脚本及加入PATH路径
cp support-files/mysql.server /etc/init.d/mysqld
vim /etc/profile
PATH=/data/apps/mysql/bin:/data/apps/mysql/lib:$PATH
export PATH
source /etc/profile
启动mysql
service mysqld start
检查mysql服务是否启动
netstat -tulnp | grep 3306
mysql -u root -p
修改MySQL用户root的密码
mysqladmin -u root password '123456'
OK了 以上 mysql 就安装完毕
这时候我们需要开通外网端口权限,否则我们的mysql连接工具无法连接
开启外网访问权限命令如下
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
这时候我们通过连接工具去连接你的mysql 发现还是连接不上 好吧 我们还需要去授权(真是尼玛麻烦)
先登录mysql
mysql -u root -p 123456
在查询下
select * from user;
SELECT User, Password, Host FROM user;
好吧看来真是授权问题
授权(赋予任何主机访问数据的权限)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION;
使修改生效
FLUSH PRIVILEGES
经过一番周折 大功告成
终于可以飞起来了