Linux中常用服务的安装
安装Mysql
为了应对不同的发行版,常用的安装方式是通过编译源码的方式进行安装
Ubuntu安装Mysql5.7
相比较于mysql5.6版本,5.7版本的mysql不再使用./configure
的方式进行编译,而是使用cmake
首先需要做的是安装编译环境:
# 跨平台的编译工具cmake
sudo apt-get install cmake
# git版本控制器
sudo apt-get install git
# C/C++的编译工具
sudo apt-get install gcc g++
# Linux常用到的图形库
apt-get install libncurses5 libncurses5-dev
下载boost工具,在编译的时候可以用到
cd /home/username/download
wget -O https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
tar -zxvf boost_1_59_0.tar.gz -C /usr/local/
cd /usr/local
mv ./boost_1_59_0 ./boost
下载mysql源码并解压
cd /home/username/download
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.26.tar.gz
tar -zxvf mysql-5.7.26.tar.gz
cd mysql-5.7.26
创建用户和用户组
sudo groupadd mysql
sudo useradd -r mysql -g mysql
执行编译
sudo cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc/mysql/ -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost
创建安装目录
sudo mkdir -p /usr/local/mysql/data
chown -R mysql:mysql /usr/local/mysql
安装
sudo make && make install
上述编译配置的简要介绍
-DCMAKE_INSTALL_PREFIX:指定MySQL程序的安装目录,默认/usr/local/mysql
-DMYSQL_DATADIR:数据文件目录
-DDEFAULT_CHARSET:指定服务器默认编码,默认latin1
-DDEFAULT_COLLATION:指定服务器默认的整理编码,默认latin1_general_ci
-DMYSQL_UNIX_ADDR:连接数据库socket文件路径,默认/tmp/mysql.sock
-DENABLED_LOCAL_INFILE:指定是否允许本地执行LOAD DATA INFILE,默认OFF
-DWITH_DEBUG bool值,表示是否开启debug模式
-DWITH_MYISAM_STORAGE_ENGINE= MYISAM引擎支持(1|0)
-DWITH_INNOBASE_STORAGE_ENGINE= innoDB引擎支持(1|0)
-DWITH_MEMORY_STORAGE_ENGINE= MEMORY引擎支持(1|0)
-DWITHOUT_xxx_STORAGE_ENGINE:指定不编译的存储引擎
-DMYSQL_TCP_PORT:服务端口号,默认3306
-DWITH_COMMENT:指定编译备注信息
等待安装任务的完成,这个等待一般是漫长的~~~~
安装完成之后,将mysql-server服务加入到服务节点
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
编写配置文件vim /etc/my.conf
[client]
port=3306
default-character-set=utf8
socket=/tmp/mysql.sock #设置默认scok链接路径
[mysqld]
basedir=/usr/local/mysql #安装路径
port=3306
datadir=/usr/local/mysql/data #数据路径
socket=/tmp/mysql.sock #开始服务时sock存放位置
启动mysql,加载自定义配置并进行初始化
cd /usr/local/mysql/bin
./mysqld --defaults-file=/etc/my.cnf --user=mysql --initialize-insecure
启动服务
/etc/init.d/mysql start
测试
cd /usr/local/mysql/bin
./mysql
设置密码
echo "set password=password('123456');"| ./mysql -S /tmp/mysql.sock
登录mysql
cd /usr/local/mysql/bin
./mysql -uroot -p
>>>:123456
添加用户并授予权限和远程连接
use mysql; # 进入mysql库
create user lee identified by 'password';# 创建用户
grant select,insert,update,delete,create on *.* to lee@"%" identified by "957012678"; #授予权限,只授予增删改表数据,创建数据库,远程连接的权限
select user, host, authentication_string from user;# 查看用户和权限
flush privileges;# 刷新权限
### 删除用户
drop user username@"host";
注意:由于没有配置环境变量,使用客户端需要在
/usr/local/mysql/bin
中启动客户端