1.装备安装包并安装,由于mysql5.5以后是通过cmake来编译的
下载cmake
http://www.cmake.org/download/
下载mysql
http://dev.mysql.com/downloads/mysql/
(1)安装cmake
#tar -zxvf cmake-3.3.0-rc2 #cd cmake-3.3.0-rc2 #./configure #make #make install
(2)创建mysql的安装目录及数据库存放目录
#madir -p /usr/local/mysql #mysql安装目录 #mkdir -p /data/mysql/data #存放数据库文件目录
(3)创建mysql用户及用户组
#groupadd mysql #新建mysql用户组 #useradd -r -g mysql mysql #新建系统用户mysql并指定mysql用户组
(4)安装mysql
#tar -zxvf mysql-5.6.25.tar.gz # cd mysql-5.6.25 #cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装路径 -DMYSQL_DATADIR=/data/mysql/data \ #数据文件存放位置 -DSYSCONFDIR=/etc \ #my.cnf路径 -DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MyIASM引擎 -DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎 -DWITH_MEMORY_STORAGE_ENGINE=1 \ #支持Memory引擎 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #连接数据库socket路径 -DMYSQL_TCP_PORT=3306 \ #端口 -DENABLED_LOCAL_INFILE=1 \ #允许从本地导入数据 -DWITH_PARTITION_STORAGE_ENGINE=1 \ #安装支持数据库分区 -DEXTRA_CHARSETS=all \ #安装所有的字符集 -DDEFAULT_CHARSET=utf8 \ #默认字符 -DDEFAULT_COLLATION=utf8_general_ci #校验字符 #make #make install
---提示错误01----
Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:85 (MESSAGE):
Curses library not found. Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):
cmake/readline.cmake:128 (FIND_CURSES)
cmake/readline.cmake:202 (MYSQL_USE_BUNDLED_EDITLINE)
CMakeLists.txt:409 (MYSQL_CHECK_EDITLINE)
那就是ncurses未安装
下载 http://ftp.gnu.org/pub/gnu/ncurses/
#tar zxvf ncurses-5.9.tar.gz # cd ncurses-5.9 # ./configure # make # make install
---提示错误02----
Warning: Bison executable not found in PATH
这是未安装Bison
下载:http://ftp.gnu.org/gnu/bison/
# tar -zxvf bison-3.0.tar.gz # cd bison-3.0 # ./configure # make # make install
完成后再重新走(4)的步骤
------------
2.配置
(1)设置目录权限
# cd /usr/local/mysql/ # chown -R root:mysql . # chown -R mysql:mysql /data/mysql/data
(2)添加配置文件
# cp support-files/my-default.cnf /etc/my.cnf #将mysql的启动服务添加到系统服务中
(3)创建系统数据库的表
# cd /usr/local/mysql # ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data/
如果报[Warning] TIMESTAMP with implicit DEFAULT value is deprecated.
Please use --explicit_defaults_for_timestamp server option
(see documentation for more details).错误
# vim /etc/my.cnf 找到[mysqld]设置项,添加以下代码: explicit_defaults_for_timestamp=true #开启查询缓存
(4)设置环境变量
# vi /root/.bash_profile
在PATH=$PATH:$HOME/bin添加参数为:
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
#source /root/.bash_profile
(5)手动启动mysql
# cd /usr/local/mysql # ./bin/mysqld_safe --user=mysql & #启动MySQL,但不能停止 #ps -ef | grep mysql #测试MySQL是否启动 #netstat -tnl | grep 3306#查看端口是否运行
启动日志写在此文件下:/data/mysql/data/hostname.err
关闭MySQL服务
#./bin/mysqladmin -u root -p shutdown #关闭
(6)配置命令启与开机启动
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql #将mysql的启动服务添加到系统服务中,其中服务名称为mysql # service mysql start #启动 # service mysql stop #关闭 # service mysql restart #关闭 # chkconfig --add mysql #添加开机启动 # chkconfig mysql off #取消开机启动
(7)修改root密码并开启远程连接
#mysql -u root mysql
mysql>use mysql; mysql>desc user; mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码'; #为root添加远程连接的能力。 mysql>update user set Password = password('密码') where User='root'; mysql>select Host,User,Password from user where User='root'; mysql>flush privileges; mysql>exit
重新登录:mysql -u root -p
若还不能进行远程连接,则关闭防火墙
# /etc/rc.d/init.d/iptables stop
注:如果不能远程连接,出现错误mysql error number 1130,则加入下面语句试试:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;
MYSQL权限详细分类:
全局管理权限:
FILE: 在MySQL服务器上读写文件。
PROCESS: 显示或杀死属于其它用户的服务线程。
RELOAD: 重载访问控制表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
数据库/数据表/数据列权限:
ALTER: 修改已存在的数据表(例如增加/删除列)和索引。
CREATE: 建立新的数据库或数据表。
DELETE: 删除表的记录。
DROP: 删除数据表或数据库。
INDEX: 建立或删除索引。
INSERT: 增加表的记录。
SELECT: 显示/搜索表的记录。
UPDATE: 修改表中已存在的记录。
特别的权限:
ALL: 允许做任何事(和root一样)。
USAGE: 只允许登录--其它什么也不允许做。