设为首页 收藏本站
查看: 335|回复: 0

[经验分享] 源码编译安装mysql

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-5-24 10:15:46 | 显示全部楼层 |阅读模式
mysql 5.5.8要使用cmake编译1)创建用户
# useradd -r -s /sbin/nologin mysql
# id mysql
uid=101(mysql) gid=101(mysql) groups=101(mysql)
# chown -R mysql.mysql /data/mysql/


说明:
# which cmake
/usr/local/bin/cmake


2)编译
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci


3)初始化mysql
# chown -R :mysql . (与二进制安装略有不同,二进制安装时,属主和属组为root,此处编译后,属主和属组为mysql)

# scripts/mysql_install_db --user=mysql --datadir=/data/mysql/


4)配置文件
# cp support-files/my-large.cnf /etc/my.cnf
在[mysqld]中增加,指定数据库的路径
datadir = /data/mysql

5)服务脚本
# cp support-files/mysql.server /etc/init.d/mysqld


安装完成后注意事项

1)删除匿名用户(否则导致系统漏洞)
mysql> use mysql;

mysql> select user,host,password from user;

其中有两个匿名用户
  • +------+-----------------------+-------------------------------------------+
  • | user | host                  | password                                  |
  • +------+-----------------------+-------------------------------------------+
  • | root | localhost             | *A3CD8B69C29498EBAAAFC325115D21B6A630A9F9 |
  • | root | localhost.localdomain | *A3CD8B69C29498EBAAAFC325115D21B6A630A9F9 |
  • | root | 127.0.0.1             | *A3CD8B69C29498EBAAAFC325115D21B6A630A9F9 |
  • |      | localhost             |                                           |
  • |      | localhost.localdomain   |                                                 |
  • +------+-----------------------+-------------------------------------------+


mysql> drop user ''@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> drop user ''@'localhost.localdomain';
Query OK, 0 rows affected (0.00 sec)

2)为root用户增加密码(在mysql客户端中,命令不区分大小写)
方法1
# mysqladmin -u USERNAME -h HOSTNAME password 'NEW_PASS' -p
方法2
mysql> SET PASSWORD FOR 'USERNAME'@'HOST'=PASSWORD('new_pass');

方法3
mysql> update user set password=password('hiayng') where user='root';

select user,host,password from user;


3)在家目录下建立如下文件,注意权限,可以免输入密码
[client]
user=root
password=hiyang
host=127.0.0.1




C/S通信方式
在同一台主机 使用mysql.socket通信
在不同主机TCP/IP通信



MyISAM存储的表包含3个文件
    .frm:表结构定义文件
    .MYD:表数据
    .MYI:表索引


InnoDB存储的表包含3个文件
    所有表共享一个表空间文件;
    建议:每表一个独立的表空间文件;但有些新特性不支持
    .frm: 表结构
    .ibd: 表空间(表数据和表索引)

为每个表设置独立的表空间
1)查看,innodb_file_per_table未打开
  • mysql> show variables like "%innodb_file%";
  • +--------------------------+----------+
  • | Variable_name            | Value    |
  • +--------------------------+----------+
  • | innodb_file_format       | Antelope |
  • | innodb_file_format_check | ON       |
  • | innodb_file_format_max   | Antelope |
  • | innodb_file_per_table    | OFF      |
  • +--------------------------+----------+

2)编辑配置文件
# vim /etc/my.cnf

在[mysqld]下增加
  • innodb_file_per_table = 1

3)测试

将测试reload不会生效,必须重启
  • # service mysqld restart

如下


  • mysql> show variables like "%innodb_file%";
  • +--------------------------+----------+
  • | Variable_name            | Value    |
  • +--------------------------+----------+
  • | innodb_file_format       | Antelope |
  • | innodb_file_format_check | ON       |
  • | innodb_file_format_max   | Antelope |
  • | innodb_file_per_table    | ON       |
  • +--------------------------+----------+




创建InnoDB表(5.5.8后默认创建表是InnoDB格式的)
mysql> create database mydb;

mysql> use mydb;
Database changed

mysql> create table test_tb(id int not null,name char(30));


# ls ./mydb
db.opt  test_tb.frm  test_tb.ibd

# 当前表使用的字符集和排序规则
# cat db.opt
default-character-set=utf8
default-collation=utf8_general_ci






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-220984-1-1.html 上篇帖子: Mysql高可以之MHA搭建 下篇帖子: mysql5.5以上版本修改字符集服务器端和客户端字符集的方法 mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表