经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » MySQL » 查看文章
linux安装mysql
来源:cnblogs  作者:安财迁客  时间:2021/4/12 9:47:34  对本文有异议

软件提取

资料:取码: 525u

网速镜像wget下载慢时候,或内网安装时,可开先下载文件直接安装。

安装编译工具及库文件

  1. yum -y install gcc gcc-c++ make autoconf libtool-ltdl-devel gd-devel freetype-devel libxml2-devel libjpeg-devel libpng-devel openssl-devel curl-devel bison patch unzip libmcrypt-devel libmhash-devel ncurses-devel sudo bzip2 flex libaio-devel

安装cmake编译器

  • 进入/usr目录 (我安装的文件放在/usr目录下,目录随意)
  1. cd /usr
  • 下载cmake安装包
  1. wget http://www.cmake.org/files/v3.1/cmake-3.1.1.tar.gz
  • 解压安装包并进入安装目录
  1. tar zxvf cmake-3.1.1.tar.gz
  2. cd cmake-3.1.1
  • 编译安装
  1. ./bootstrap
  2. make && make install

安装boost

  • 在/usr/local下创建boost文件夹
  1. mkdir -p /usr/local/boost
  • 进入boost文件夹
  1. cd /usr/local/boost
  • 在这个文件夹下载 boost
  1. wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
  • 解压boost
  1. tar -xvzf boost_1_59_0.tar.gz

安装mysql

  • 进入/usr目录
  1. cd /usr
  • 下载mysql并解压mysql
  1. wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz
  2. tar zxvf mysql-5.6.15.tar.gz
  • 进入mysql解压
  1. cd mysql-5.6.15
  • mysql的cmake配置文件添加
  1. -DWITH_BOOST=/usr/local/boost
  • 编译安装mysql
  1. cmake -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql/ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_INNODB_MEMCACHED=1 -DWITH_DEBUG=OFF -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DENABLED_PROFILING=ON -DWITH_BOOST=/usr/local/boost -DMYSQL_MAINTAINER_MODE=OFF -DMYSQL_DATADIR=/usr/local/webserver/mysql/data -DMYSQL_TCP_PORT=3306
  • make
  1. make && make install
  • 查看mysql版本
    如果可以查看到,则mysql安装正确
  1. /usr/local/webserver/mysql/bin/mysql --version
  • 报错问题解决

1 CMake安装mysql时报错

  1. CMake Error at cmake/readline.cmake:85 (MESSAGE):
  2. Curses library not found. Please install appropriate package,

解决

  1. yum -y install ncurses-devel
  2. rm -rf CMakeCache.txt

mysql配置

  • 创建mysql运行使用的用户mysql
  1. /usr/sbin/groupadd mysql
  2. /usr/sbin/useradd -g mysql mysql
  • 创建binlog和库的存储路径并赋予mysql用户权限
  1. mkdir -p /usr/local/webserver/mysql/binlog /www/data_mysql
  2. chown mysql.mysql /usr/local/webserver/mysql/binlog/ /www/data_mysql/
  • 将mysql文件夹的权限给mysql用户
  1. chown -R mysql /usr/local/webserver/mysql
  2. chgrp -R mysql /usr/local/webserver/mysql
  • 创建my.cnf配置文件
  1. vim /etc/my.cnf
  • my.cnf文件里内容如下
  1. [client]
  2. port = 3306
  3. socket = /tmp/mysql.sock
  4. [mysqld]
  5. lower_case_table_names =1
  6. replicate-ignore-db = mysql
  7. replicate-ignore-db = test
  8. replicate-ignore-db = information_schema
  9. user = mysql
  10. port = 3306
  11. socket = /tmp/mysql.sock
  12. basedir = /usr/local/webserver/mysql
  13. datadir = /www/data_mysql
  14. log-error = /usr/local/webserver/mysql/mysql_error.log
  15. pid-file = /usr/local/webserver/mysql/mysql.pid
  16. open_files_limit = 65535
  17. back_log = 600
  18. max_connections = 5000
  19. max_connect_errors = 1000
  20. table_open_cache = 1024
  21. external-locking = FALSE
  22. max_allowed_packet = 32M
  23. sort_buffer_size = 1M
  24. join_buffer_size = 1M
  25. thread_cache_size = 600#thread_concurrency = 8
  26. query_cache_size = 128M
  27. query_cache_limit = 2M
  28. query_cache_min_res_unit = 2kdefault-storage-engine = MyISAMdefault-tmp-storage-engine=MYISAM
  29. thread_stack = 192K
  30. transaction_isolation = READ-COMMITTED
  31. tmp_table_size = 128M
  32. max_heap_table_size = 128M
  33. log-slave-updates
  34. log-bin = /usr/local/webserver/mysql/binlog/binlog
  35. binlog-do-db=oa_fb
  36. binlog-ignore-db=mysql
  37. binlog_cache_size = 4M
  38. binlog_format = MIXED
  39. max_binlog_cache_size = 8M
  40. max_binlog_size = 1G
  41. relay-log-index = /usr/local/webserver/mysql/relaylog/relaylog
  42. relay-log-info-file = /usr/local/webserver/mysql/relaylog/relaylog
  43. relay-log = /usr/local/webserver/mysql/relaylog/relaylog
  44. expire_logs_days = 10
  45. key_buffer_size = 256M
  46. read_buffer_size = 1M
  47. read_rnd_buffer_size = 16M
  48. bulk_insert_buffer_size = 64M
  49. myisam_sort_buffer_size = 128M
  50. myisam_max_sort_file_size = 10G
  51. myisam_repair_threads = 1
  52. myisam_recover
  53. interactive_timeout = 120
  54. wait_timeout = 120
  55. skip-name-resolve
  56. slave-skip-errors = 1032,1062,126,1114,1146,1048,1396#master-host = 192.168.1.2#master-user = username#master-password = password#master-port = 3306
  57. server-id = 1
  58. loose-innodb-trx=0
  59. loose-innodb-locks=0
  60. loose-innodb-lock-waits=0
  61. loose-innodb-cmp=0
  62. loose-innodb-cmp-per-index=0
  63. loose-innodb-cmp-per-index-reset=0
  64. loose-innodb-cmp-reset=0
  65. loose-innodb-cmpmem=0
  66. loose-innodb-cmpmem-reset=0
  67. loose-innodb-buffer-page=0
  68. loose-innodb-buffer-page-lru=0
  69. loose-innodb-buffer-pool-stats=0
  70. loose-innodb-metrics=0
  71. loose-innodb-ft-default-stopword=0
  72. loose-innodb-ft-inserted=0
  73. loose-innodb-ft-deleted=0
  74. loose-innodb-ft-being-deleted=0
  75. loose-innodb-ft-config=0
  76. loose-innodb-ft-index-cache=0
  77. loose-innodb-ft-index-table=0
  78. loose-innodb-sys-tables=0
  79. loose-innodb-sys-tablestats=0
  80. loose-innodb-sys-indexes=0
  81. loose-innodb-sys-columns=0
  82. loose-innodb-sys-fields=0
  83. loose-innodb-sys-foreign=0
  84. loose-innodb-sys-foreign-cols=0
  85. slow_query_log_file=/usr/local/webserver/mysql/mysql_slow.log
  86. long_query_time = 1
  87. [mysqldump]
  88. quick
  89. max_allowed_packet = 32M
  • 初始化数据库
  1. cd /usr/local/webserver/mysql/
  2. 执行
  3. /usr/local/webserver/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --user=mysql
  • 创建开机启动脚本
  1. cd /usr/local/webserver/mysql/
  2. cp support-files/mysql.server /etc/rc.d/init.d/mysqld
  3. chkconfig --add mysqld
  4. chkconfig --level 35 mysqld on
  • 启动mysql
  1. service mysqld start
  • 连接mysql
  1. /usr/local/webserver/mysql/bin/mysql -u root -p

如果看到如果下,,则成功

  1. mysql>
  2. 看一下数据库
  3. mysql> show databases;
  4. +--------------------+
  5. | Database |
  6. +--------------------+
  7. | information_schema |
  8. | demo1 |
  9. | mysql |
  10. | performance_schema |
  11. | test |
  12. +--------------------+
  13. 5 rows in set (0.00 sec)
  14. mysql>
  15. ok~~~~~~
  • 修改mysql密码
    进入mysql命令行
  1. 格式:SET PASSWORD FOR '用户名'@'主机' = PASSWORD(‘密码');
  2. SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root');

创建用户并授权

  1. grant all privileges on *.* to 用户名@'%' identified by '密码' with grant option;
  2. grant all privileges on *.* to root@'%' identified by 'root' with grant option;

测试mysql用户名和密码修改是否生效

  1. 连接mysql
  2. 会要输入密码,输入刚才设置的密码(root),如果能连接mysql,说明设置成功

同一个局域网连接mysql

  1. navicat连接连接mysql
  2. 备注:
  3. 连接名:随便起
  4. 主机名或ip地址:虚拟机的ip地址
  5. Linux命令行获取:ip addr
  6. 端口号:mysql的端口号 3306
  7. 用户名:root
  8. 密码:root
  9. 连接测试,

不出意外会失败,原因

  1. 1Linux的防火墙没有关闭
  2. 关闭防火墙
  3. systemctl stop firewalldsystemctl disable firewalld
  4. 2 服务器上登录mysql,查看是否有地址限制,
  5. 语法:
  6. use mysql;
  7. select host,user from user;
  8. grant all privileges on *.* to 'root'@'%' identified by '密码';
  9. flush privileges;
  10. 操作如下:
  11. mysql> select host,user from user ;
  12. mysql> grant all privileges on *.* to 'root'@'%' identified by 'root';
  13. mysql> flush privileges;
  14. 全部操作及显示:
  15. mysql> use mysql ;
  16. Reading table information for completion of table and column names
  17. You can turn off this feature to get a quicker startup with -A
  18. Database changed
  19. mysql> select host,user from user ;
  20. +-----------------------+------+
  21. | host | user |
  22. +-----------------------+------+
  23. | % | root |
  24. | 127.0.0.1 | root |
  25. | ::1 | root |
  26. | localhost | |
  27. | localhost | root |
  28. | localhost.localdomain | |
  29. | localhost.localdomain | root |
  30. +-----------------------+------+
  31. 7 rows in set (0.02 sec)
  32. mysql> grant all privileges on *.* to 'root'@'%' identified by 'root';
  33. Query OK, 0 rows affected (0.07 sec)
  34. mysql> flush privileges;
  35. Query OK, 0 rows affected (0.34 sec)
  36. 同一个局域网连接测试:
  37. 连接成功
  38. 现在开始开心的使用mysql吧~~~~~~

image

参考

http://www.runoob.com/linux/mysql-install-setup.html

原文链接:http://www.cnblogs.com/aufe-huxing/p/14620056.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号