找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
听天命
查看: 901|回复: 0

Ubuntu22.04 MySQL8.0.3+安装

[复制链接]

54

主题

6

回帖

40万

积分

管理员

积分
400064

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2024-4-22 09:30:10 | 显示全部楼层 |阅读模式 来自 山西太原
# 更新apt

  1. apt -y update
复制代码
# 安装mysql-server

  1. apt -y install mysql-server
复制代码
# 查看服务是否启动

  1. ps -ef | grep mysql
  2. systemctl status mysql
复制代码
# 设置忽略表名大小写
## 停止服务

  1. sudo systemctl stop mysql.service
复制代码
## 删除错误日志

  1. sudo rm /var/log/mysqld.log
复制代码
## 删除系统数据库与用户数据库

  1. sudo rm -rf /var/lib/mysql
复制代码
## 创建数据库目录

  1. sudo mkdir /data
  2. sudo mkdir /data/mysql
  3. sudo mkdir /data/mysql/tmp
  4. sudo mkdir /data/mysql/logs
  5. sudo mkdir /data/mysql/binlogs
  6. sudo mkdir /data/mysql/relaylogs
  7. sudo mkdir /data/mysql/undologs
复制代码
## 目录授权

  1. sudo chown -R mysql:mysql /data
  2. sudo chown -R mysql:mysql /data/mysql
  3. sudo chown -R mysql:mysql /data/mysql/tmp
  4. sudo chown -R mysql:mysql /data/mysql/logs
  5. sudo chown -R mysql:mysql /data/mysql/binlogs
  6. sudo chown -R mysql:mysql /data/mysql/relaylogs
  7. sudo chown -R mysql:mysql /data/mysql/undologs
复制代码
## 配置 lower_case_table_names

  1. sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
复制代码
  1. # For advice on how to change settings please seehttp://dev.mysql.com/doc/refman/ ... ation-defaults.html

  2. [mysqld]
  3. #Remove leading # and set to the amount of RAM for the most important datacache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

  4. #innodb_buffer_pool_size = 128M

  5. #Remove the leading "# " to disable binary logging

  6. #Binary logging captures changes between backups and is enabled by

  7. #default. It's default setting is log_bin=binlog

  8. #disable_log_bin

  9. #Remove leading # to set options mainly useful for reporting servers.

  10. #The server defaults are faster for transactions and fast SELECTs.

  11. #Adjust sizes as needed, experiment to find the optimal values.

  12. #join_buffer_size = 128M

  13. #sort_buffer_size = 2M

  14. #read_rnd_buffer_size = 2M

  15. #Remove leading # to revert to previous value for default_authentication_plugin,

  16. #this will increase compatibility with older clients. For background, see:https://dev.mysql.com/doc/refman ... thentication_plugin

  17. #default-authentication-plugin=mysql_native_password

  18. #datadir=/var/lib/mysql
  19. #socket=/var/lib/mysql/mysql.sock

  20. #log-error=/var/log/mysqld.log
  21. #pid-file=/var/run/mysqld/mysqld.pid

  22. socket = /data/mysql/tmp/mysql.sock
  23. pid-file = /data/mysql/tmp/mysqld.pid
  24. log_error = /data/mysql/logs/mysqld.log
  25. log_error_verbosity = 3
  26. slow_query_log = 0
  27. slow_query_log_file = /data/mysql/logs/slow.log
  28. long_query_time = 5
  29. datadir = /data/mysql/data

  30. user = mysql
  31. port = 3306
  32. server-id = 92
  33. max_connections=9000
  34. open_files_limit = 65535
  35. default_authentication_plugin=mysql_native_password
  36. max_allowed_packet = 1G
  37. max_connect_errors = 1000000
  38. character_set_server=utf8mb3
  39. default_time_zone='+8:00'
  40. transaction_isolation = READ-COMMITTED
  41. lower-case-table-names=1
  42. mysqlx=0   
  43. skip_name_resolve

  44. #enable admin_port
  45. admin_address = '127.0.0.1'
  46. admin_port = 33066

  47. #pfs settings
  48. performance_schema = 1
  49. performance_schema_instrument = '%lock%=on'

  50. #performance setttings
  51. lock_wait_timeout = 3600
  52. back_log = 1024
  53. table_open_cache = 19024
  54. table_definition_cache = 19024
  55. thread_stack = 512K
  56. sort_buffer_size = 16M
  57. join_buffer_size = 16M
  58. read_buffer_size = 8M
  59. read_rnd_buffer_size = 16M
  60. bulk_insert_buffer_size = 64M
  61. thread_cache_size = 3000
  62. #interactive_timeout = 600
  63. #wait_timeout = 600
  64. tmp_table_size = 96M
  65. max_heap_table_size = 96M
  66. max_prepared_stmt_count=128000

  67. #log settings
  68. binlog_format = ROW
  69. log-bin = /data/mysql/binlogs/mysql-bin
  70. relay-log = /data/mysql/relaylogs/relay-bin
  71. log_timestamps = SYSTEM
  72. sync_binlog = 1
  73. binlog_cache_size = 128M
  74. binlog_rows_query_log_events = 1
  75. binlog_expire_logs_seconds = 180000
  76. binlog_checksum = CRC32
  77. gtid_mode = ON
  78. enforce_gtid_consistency = TRUE

  79. #undo settings
  80. innodb_undo_directory = /data/mysql/undologs/
  81. innodb_undo_tablespaces=3
  82. innodb_undo_log_truncate=1
  83. innodb_max_undo_log_size = 4G
  84. innodb_purge_rseg_truncate_frequency = 128

  85. #innodb
  86. default-storage-engine = InnoDB   
  87. innodb_data_file_path = ibdata1:1024M;ibdata2:1024M;ibdata3:1024M:autoextend  
  88. innodb_flush_neighbors = 0   
  89. innodb_doublewrite= 1
  90. innodb_log_file_size = 1G
  91. innodb_log_files_in_group = 16
  92. innodb_log_buffer_size = 64M
  93. innodb_flush_log_at_trx_commit = 2
  94. innodb_thread_concurrency = 8
  95. innodb_buffer_pool_size = 40G
  96. innodb_buffer_pool_instances = 4
  97. innodb_open_files = 65535
  98. innodb_file_per_table = 1
  99. innodb_strict_mode = 0
  100. innodb_io_capacity = 10000
  101. innodb_io_capacity_max = 20000
  102. innodb_flush_method = O_DIRECT
  103. innodb_adaptive_hash_index = OFF
  104. innodb_lru_scan_depth = 4000
  105. innodb_lock_wait_timeout = 10
  106. innodb_rollback_on_timeout = 1
  107. innodb_print_all_deadlocks = 1
  108. innodb_online_alter_log_max_size = 4G
  109. innodb_sort_buffer_size = 67108864
  110. innodb_status_output = 0
  111. innodb_adaptive_hash_index = OFF

  112. [mysqldump]
  113. quick
  114. max_allowed_packet = 128M

  115. [client]
  116. port        = 3306
  117. socket        = /data/mysql/tmp/mysql.sock
  118. default_character-set=utf8mb3
复制代码
# 禁用apparmor profile

  1. ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
  2. apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
复制代码
## 重启 apparmor

  1. systemctl restart apparmor
复制代码
## 查询mysql,应当无结果

  1. aa-status |grep mysql
复制代码
# 初始化 MySql

  1. mysqld --defaults-file=/etc/mysql/my.cnf --initialize  --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data
复制代码
## 登录 MySql

  1. sudo cat  /data/mysql/logs/mysqld.log  | grep password
复制代码
## 使用临时密码登录 MySql,设置root登录密码

  1. mysql -uroot
  2. use mysql;
  3. alter user 'root'@'localhost' identified by 'Aa123456';
  4. update user set host='%' where user='root';
  5. flush privileges;
复制代码
## 查看当前 mysql 是否是区分大小写

  1. show variables like '%case_table%';
  2. exit;
复制代码
## 重启服务

  1. service mysql restart
复制代码
## 查看服务是否启动

  1. ps -ef | grep mysql
  2. systemctl status mysql
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精简版|手机版|嗐!无思百忧,祇自重兮 ( 京ICP备18055970号|京ICP备18055970号 )晋公网安备 14010902001813号 劰载中... 本站总访问量次. 您是第个小伙伴

GMT+8, 2026-1-25 17:44 , Processed in 0.088799 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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