博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在Linux下安装MySQL
阅读量:6517 次
发布时间:2019-06-24

本文共 2294 字,大约阅读时间需要 7 分钟。

  hot3.png

    这两天,工作中需要将数据库从其他服务器上迁移到MySQL上,只好自己安装数据库了,这里记录一下笔记。

    操作系统用的是CentOS,下载的MySQL源码版本是5.5.30。
    安装步骤:
    1,首先需要安装cmake和ncurses,安装MySQL用到cmake产生Makefile文件。
       yum install cmake
       yum install ncurses-devel
       注意,如果cmake失败,需要清除当前目录下的CMakeCache.txt文件,否则重新cmake仍然报原来的错误。
    2,安装MySQL
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql_db \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DSYSCONFDIR=/etc \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
-DMYSQL_TCP_PORT=3306 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_USER=mysql
make
sudo make install
       注意,DEFAULT_CHARSET参数设置的编码并没有实际意义,貌似MySQL在版本5之后都支持多字符集了,可以在建立数据库实例的时候设置字符集,不同的实例可以使用的字符集。
    3,建立mysql用户和用户组,并且分配文件访问权限
groupadd mysql
useradd mysql -g mysql -s /sbin/nologin
chown -R mysql:mysql  /usr/local/mysql/
    4,建立数据库文件存放目录(可以建立到另外的大磁盘上)
mkdir /data/mysql_db
chown -R mysql:mysql  /data/mysql_db/
    5,配置文件
ln -sf /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf
ln -sf /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
       修改/etc/init.d/mysqld
basedir  = /usr/local/mysql
datadir = /data/mysql_db
mysqld_pid_file_path=/tmp/mysqld.pid
    6,初始化数据
/usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql_db --basedir=/usr/local/mysql
    7,配置服务
chkconfig --add mysqld
       启动
service mysqld start
       配置防火墙(这里为了简单起见,对所有的外来IP都接受)
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/rc.d/init.d/iptables status
    8,给root帐号设置密码
/usr/local/mysql/bin/mysqladmin -u root password "match"
    9, 建立业务帐号
mysql --user=root  --password=match -h localhost
       注意,仅仅允许root在本机登录
    登录后,首先清理匿名帐号:
select user,host from mysql.user; 
delete from mysql.user where user='';
    建业务数据库实例:
DROP DATABASE images;
create DATABASE images default character set gbk;
--建立从数据库本机登录数据库的帐号
DROP USER 'cutscreen'@'localhost';
CREATE USER 'cutscreen'@'localhost' IDENTIFIED BY 'cutscreen#match';
GRANT ALL ON images.* TO 'cutscreen'@'localhost' with GRANT OPTION;
--建立从192.168.1.15登录数据库的帐号
DROP USER 'cutscreen'@'192.168.1.15';
CREATE USER 'cutscreen'@'192.168.1.15' IDENTIFIED BY 'cutscreen#match';
GRANT ALL ON images.* TO 'cutscreen'@'192.168.1.15' with GRANT OPTION;
    使权限配置生效:
flush PRIVILEGES;
    10,测试帐号是否可用(数据库在192.168.1.14上)
mysql --user=cutscreen  --password=cutscreen#match -h 192.168.1.14

转载于:https://my.oschina.net/xuhh/blog/207095

你可能感兴趣的文章
洗茶,你误会了多少年?
查看>>
《R数据可视化手册》——1.1 安装包
查看>>
spring-aop
查看>>
android RecycleView Adapter简单封装
查看>>
Dart的数据库操作
查看>>
Codeforces 591 B Rebranding【Codeforces Round #327 (Div. 2)】
查看>>
命名难,难于上青天
查看>>
APUE读书笔记-05标准输入输出库(7)
查看>>
23 第一周作业
查看>>
DNS解析偶尔延迟
查看>>
iOS打电话,发短信,发邮件,打开网址
查看>>
canvas学习笔记
查看>>
《Spring1之第十次站立会议》
查看>>
Unity Shader 噪声消融特效 - 剑灵死亡特效
查看>>
添加一条信息到列表,如果重复就替换,
查看>>
C#基础第五天
查看>>
uva 12325 枚举暴力 b
查看>>
多线程问题(JVM重排序)
查看>>
POJ 3268 Silver Cow Party
查看>>
EMLS项目推进思考
查看>>